そこで内容を動的に反映するために文書を開き直すサンプルを作ってみました。
このサンプルではリッチテキストフィールドの編集例として "Body" の一番下の位置へファイルを添付しています。
このエージェントのプロパティでは実行の対象を"なし"にしてください。
Sub Initialize Dim ws As New NotesUIWorkspace Dim ss As New NotesSession Dim uidoc As NotesUIDocument Dim doc As NotesDocument Dim db As NotesDatabase Dim rtitem As NotesRichTextItem Dim unid$, pathname$ Dim neo As NotesEmbeddedObject Dim editmode As Boolean Set uidoc = ws.CurrentDocument If uidoc Is Nothing Then Exit Sub '開き直すときのモードを現在の状態と一致させる editmode = uidoc.EditMode '編集モードなら変更を反映させるため保存する If editmode Then Call uidoc.Save 'バックエンドでリッチテキストフィールドを編集して保存 pathname = "C:\TEMP\HOGE.TXT" Set doc = uidoc.Document Set rtitem = doc.GetFirstItem( "Body" ) Set neo = rtitem.EmbedObject( 1454, "", pathname ) Call doc.Save( False, False ) unid = doc.UniversalID 'フロントエンド文書を閉じる。保存プロンプトは出さない If editmode Then doc.SaveOptions = "0" Call uidoc.Close 'バックエンド文書を取得し直してフロントエンドで開く Set db = ss.CurrentDatabase Set doc = db.GetDocumentByUNID( unid ) Call ws.EditDocument( editmode, doc ) End Sub現在開いている文書が編集モードでも読み込みモードでも動作します。
0 件のコメント:
コメントを投稿