[Notes/Domino] 画像をリッチテキストに取り込む方法
社員紹介用のDBなどで社員の写真画像をDBに取り込みたい、など、Lotus Script で画像をリッチテキストに取り込みたいケースが稀にあるかと思いますが、このような処理は Lotus Script の組み込み機能だけでは無理なようです(x_x)。ただし、Notes API を使用すれば実現できなくもありません(まぁ、当たり前か)。IBM のフォーラムに、サンプルコードが載っていましたので、それを紹介いたします。
上記コードでおおむねうまくいくようですが、「使用例」のリンク先にある方法で実行してしまうと、アイテムが2つ出来てしまい、文書を何度も開いたときにクライアントがハングすることがあるようです(R6.5.2)。
NotesDocument.Save の代わりに API の NSFNoteUpdate を使用すれば、この現象は回避されました。以下に改修後のイメージを掲載いたします。
Declare Public Function NSFNoteUpdate Lib wAPIModule Alias "NSFNoteUpdate" _ ( Byval hNT As Long, Byval F As Integer) As Integer Sub Click(Source As Button) Dim session As New NotesSession Dim itm As NotesItem Dim doc As New NotesDocument(session.CurrentDatabase) With doc .Form = "フォーム名" 'すでにアイテムがある場合は消す Set itm = .GetFirstItem("Body") If Not itm Is Nothing Then .RemoveItem "Body" End If CreateImageItem doc, "Body", "画像のファイルパス" NSFNoteUpdate .handle, 1 'handleは隠しプロパティです。ノートハンドルを返します。 End With End Sub
このようなコードに直して(実際はかなり変えましたが)、実運用で使用してみたところ、一部の写真で取り込めないものがありました(x_x)。原因はちゃんと調べなかったので不明ですが、たぶん JPEG の形式によるものではないかと思っています。
まあ、多少作業が軽減されればいい、くらいの気持ちで使えばよいのではないかと(^^;
コメント
コメントはありません
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。