スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

VB:Notesのデータベースを読み込むAPI

Notesからデータを直接吸い出したかったのですが、やっとそのやり方がわかりました。
なのでメモ。

特に、「いついつ以降に新規作成・更新になったデータ」の吸出しができずに悩んでました。
Searchメソッドを使えば解決しました。





Dim wkNotesSsn As Object
Dim wkNotesDB As Object
Dim wkNotesDocs As Object, NDoc As Object

dim svr as string
dim nm as string
svr = "サーバー名"
nm = "ファイル名"

Set wkNotesSsn = CreateObject("Notes.NotesSession")
Set wkNotesDB = wkNotesSsn.GetDatabase(svr, nm)

'-- 全部のデータを取ってきたいときは、コレ --
Set wkNotesDocs = wkNotesDB.AllDocuments

'-- 期間を区切って取ってきたい場合は、コレ --
Set wkNotesDocs = wkNotesDB.Search("@all", wkNotesSsn.CreateDateTime("12/31/2013"), 0)




Dim データ As String, sval As String
Dim n As Long
Dim i As Integer
Dim bar As String

bar = Application.StatusBar


'-- データ取得 -------------
n = 0
ReDim results(1000)
Set NDoc = wkNotesDocs.GetFirstDocument

Do Until NDoc Is Nothing

If NDoc.NoteID <> "" Then

id = NDoc.NoteID
dt = NDoc.LastModified
sval = NDoc.GetItemValue(Split(columns(i), ",")(1))(0)

If n Mod 1000 = 0 Then
ReDim Preserve results(UBound(results) + 1000)
End If

End If

Set NDoc = wkNotesDocs.GetNextDocument(NDoc)
Loop

'配列の微調整
For i = UBound(results) To 0 Step -1
If results(i) <> "" Then
ReDim Preserve results(i)
Exit For
End If
Next i

スポンサーサイト

トラックバック

コメント

コメントを残す

Secret



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。