当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2009年1月21日水曜日

ビューの列の値を表示

今日はNotesViewEntryクラスを使ったサンプルです。
筆者はあまりこのクラスを使うのが好きではなく(理由はないんだけどね)、
よく分かっていないのだが、掲示板等を見ると、このクラスを使えば良いんじゃない?
というような回答を見かけるので、この際、サンプルをこしらえてみよう。
ということで、作ってみました。

サンプルは、($All)というビューに表示されている列の値を取得して、プロンプト表示するというものです。
DB内に文書が多数あると表示しきれないので、3エントリごとに改行するという工夫をしています。


Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim ventrys As NotesViewEntryCollection
Dim ventry As NotesViewEntry
Dim i As Integer
Dim ret As String

'ビューを取得して、そこから全エントリを取得
Set db = session.CurrentDatabase
Set view = db.GetView( "($All)" )
Set ventrys = view.AllEntries

Set ventry = ventrys.GetFirstEntry
i = 0
'ビュー全エントリから一つずつエントリを抜き出していく
Do While Not ( ventry Is Nothing )
i = i + 1
'1エントリずつ改行すると表示しきれないので、3の倍数の時だけ改行する
If i Mod 3 = 0 Then
ret = ret & Cstr( i ) & "." & ventry.ColumnValues(2) & Chr$(10)
Else
ret = ret & Cstr( i ) & "." & ventry.ColumnValues(2) & Chr$(9)
End If
Set ventry = ventrys.GetNextEntry( ventry )
Loop

Messagebox ret, 0, "ビューの列の値を表示"
End Sub

Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: