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

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

2008年5月21日水曜日

文書にファイルを添付する

今回はファイルを添付するスクリプト。
サンプルは、ホットスポットボタンをクリックしたときのものなので、フロントエンドで動作するが、
サーバエージェントにすれば、バックエンドでの動作も可能になる。
この場合、サーバのディレクトリにあるファイルを添付することができるようになる。
別処理で、ファイルを作成したものをどうしようか?という時に、FTPを使わずともNotesDBに添付することができるようになる。

Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim uiws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim resdoc As NotesDocument
    Dim ritem As NotesRichTextItem
    Dim afile As NotesEmbeddedObject
    
    '自文書の設定
    Set db = session.CurrentDatabase
    Set uidoc = uiws.CurrentDocument
    Set doc = uidoc.Document
    
    '新規に文書を作成した後、返答文書として位置づける
    Set resdoc = db.CreateDocument
    Call resdoc.MakeResponse( doc )
    
    'スクリプトで文書を作成した場合、フィールドに何も設定されないので自分で設定する
    resdoc.Form = "Response"
    resdoc.Subject = "添付ファイル付き文書(バックグラウンド作成)"
    
    'ファイルをリッチテキスト(Bodyフィールド)に添付する
    Set ritem = New NotesRichTextItem( resdoc, "Body" )
    Call ritem.AppendText( "この下にファイルを添付します。" )
    Call ritem.AddNewline( 2 )
    Set afile = ritem.EmbedObject( EMBED_ATTACHMENT, "", ファイルパス)
    Call ritem.AddNewline( 2 )
    Call ritem.AppendText( "この上にファイルが添付されています。" )
    
    '文書の保存
    Call resdoc.Save( True , True )
End Sub



0 件のコメント: