LOTUSSCRIPT /COM/OLE のクラス


例:Truncate メソッド
次のエージェントは、ファイルでストリームを開き、書き込みを行います。ファイルにすでに内容がある場合は、エージェントがユーザーに中止するかどうかを問い合わせます。ユーザーが処理を進めることを選択した場合、エージェントはファイルを書き直すのか、またはファイルに追加するのかをユーザーに問い合わせます。ユーザーが書き直しを選択した場合は、エージェントがファイルへの書き込み前にストリームを切り捨てます。

%INCLUDE "lsconst.lss"
Sub Initialize
 Dim session As NotesSession
 Dim db As NotesDatabase
 Dim dc As NotesDocumentCollection
 Dim doc As NotesDocument
 Dim stream As NotesStream
 Dim pathname As String
 pathname = "c:\StreamFiles\"
 Set session = New NotesSession
 Set db = session.CurrentDatabase
 Set dc = db.UnprocessedDocuments
 Set doc = dc.GetFirstDocument
 Set stream = session.CreateStream
 pathname = pathname & doc.GetItemValue("Subject")(0) & ".txt"
 If Not stream.Open(pathname, "ASCII") Then
   Messagebox pathname,, "Open failed"
   Exit Sub
 End If
 If stream.IsReadOnly Then
   Messagebox pathname,, "File is read-only"
   Exit Sub
 End If
 If stream.Bytes <> 0 Then
   If Messagebox("Do you want to abort?", _
   MB_YESNO + MB_ICONQUESTION, _
   "File exists and has content?")= IDYES Then
     Exit Sub
   End If
   If Messagebox("Do you want to replace the old content?", _
   MB_YESNO + MB_ICONQUESTION, _
   "Rewrite or append?")= IDYES Then
     Call stream.Truncate
   Else
     Call stream.WriteText(Chr(13) & Chr(10))
   End If
 End If
 Call stream.WriteText(doc.GetItemValue("Body")(0))
 Call stream.Close
End Sub

関連項目