Takenoff Labs

Lotus Notes/Domino に関する Tips や、クラシックの名曲などを紹介します

[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 の形式によるものではないかと思っています。

まあ、多少作業が軽減されればいい、くらいの気持ちで使えばよいのではないかと(^^;

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
読み込み中...

トラックバック

トラックバックはありません

コメント

コメントはありません

※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。





(以下のタグが使えます)
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

For spam filtering purposes, please copy the number 2002 to the field below:

^
×