[ホーム] - [ノーツドミノ プログラミングサンプル一覧] - [ビューからノーツ文書をCSVとして書き出すサンプルコード]




ビューからノーツ文書をCSVとして書き出すサンプルコード


ノーツビューから文書をCSV(Comma-Separated Values)ファイルとして書き出すサンプルコードを紹介します。改行も取り除いています。NotesR4.xではタブ形式などで出力可能ですが品質が悪いため新規にコードを作成してみました。

以下のような式をビュー上のアクションに作成します。
以下の例では、各文書のfield1,field2,field3,field4,field5のをカンマ区切りのCSVファイルとして書き出します。Excel等で読み込めるように、改行は削除します。


Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim fileNum As Integer

Set db = session.CurrentDatabase
Set collection = Db.UnprocessedDocuments

fileName=Inputbox( "書き出すファイル名を入力してください" , "ファイル名の指定" ,"c:\temp.csv")

If fileName="" Then
Exit Sub
End If

fileNum=Freefile()
stringToWrite=""
Open fileName For Output Access Write As fileNum

For i = 1 To collection.Count
Set doc = collection.GetNthDocument( i )
FormName=doc.form
If FormName(0)="FormMain" Then
stringToWrite=stringToWrite+doc.field1(0)+","
stringToWrite=stringToWrite+doc.field2(0)+","
stringToWrite=stringToWrite+doc.field3(0)+","
stringToWrite=stringToWrite+doc.field4(0)+","
stringToWrite=stringToWrite+doc.field5(0)

'改行を取り除く
For j=1 To Len(stringToWrite)
c=Mid(stringToWrite,j,1)
If c=Chr$(13) Then
stringToWrite=Mid(stringToWrite,1,j-1)+Mid(stringToWrite,j+1,Len(stringToWrite)-j)
End If
Next j
Print #fileNum,stringToWrite
End If
Next
Close FileNum
Msgbox "CSVファイルへの出力が完了しました。"



(補足)Lotus Script を使用しています。(VBを Notesに拡張した言語です。)




本ページは IBM Lotus Notes Domino (ロータスノーツドミノ)を対象としています。 基本的には Notes 4,5,及び6以後を対象としていますが、バージョンによっては対応していない場合があります。 lotus scriptや @関数 (@コマンド)を対象としていて、VB Scriptには対応していません。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [ノーツドミノ プログラミングサンプル一覧]