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

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

2009年1月30日金曜日

OLEオブジェクトを起動する

今日はオブジェクトについて、ほんのちょこっとだけ触れてみます。
ノーツのリッチテキストにはファイルをそのまま添付するだけでなく、埋め込みオブジェクトとしても添付することが出来ます。

今回は、リッチテキストフィールドに存在している埋め込みオブジェクトを起動してみるというサンプルです。
添付ファイルを起動しようとする場合、CreateObject関数でその添付ファイルのオブジェクトクラスを作成して、その中で起動処理を行うため、LotusScript以外にVBA等の知識が必要になってきます。
埋め込みオブジェクトの場合、LotusScriptだけで起動が出来るので、覚えておきましょう。


Sub Click(Source As Button)
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim ritem As NotesRichTextItem
Dim eobj As NotesEmbeddedObject
Dim handleV As Variant

'自文書の取得
Set uidoc = uiws.CurrentDocument
Set doc = uidoc.Document

'自文書の中のBodyアイテムを取得
Set ritem = doc.GetFirstItem( "Body" )

'アイテムがリッチテキストかどうかを判断する
If ritem.Type = RICHTEXT Then
'リッチテキストの中の全オブジェクトを取得
Forall x In ritem.EmbeddedObjects
Set eobj = x
'オブジェクトを実行
Set handleV = eobj.Activate( True )

'このまま処理をすると、アプリケーションが終了してしまうので、処理を一時中断する
Messagebox "処理待ち", 0, "オブジェクトの起動"
End Forall
End If
End Sub


Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: