三流君 ken3のmemo置き場

メモ置き場、保管庫として利用。まとまっていませんがヨロシク



Outlook VBA で 現在開いているアイテムを取得する方法を探ってみた

1.Outlookで 今 開いているアイテムを取得する方法

連絡先を予定表に投げると(ドラックandドロップすると)、
会議 の 出席依頼を作成する画面が表示され、
連絡先 と 開始と終了時刻 が 自動的に入ります。

ここから、データを取得したいので、
Outlookで 今 開いているアイテムを取得する方法
を探ってみたいと思います。

outlook VBA の 編集画面を表示する
ツール・マクロ や alt+F11 で 編集画面を表示ます。

いつものように、
イミディエイトで探ったり、テストのプログラムを作って、
プロパティやメソッドを探っていきます。

動画

いつもの試行錯誤で右往左往している動画です。
Outlook VBA ActiveInspector.CurrentItem で アイテムを取得 - YouTube

サンプルプログラムのコード

? typename(application.ActiveInspector.CurrentItem)

MailItem
AppointmentItem
TaskItem
など、アイテムが探れるので、タイプ・型がわかったら、
小さなテストプログラムで確認します。

下記にサンプルで使用したコードを載せました。
イロイロといじって探ってみてください。

Sub test0211_001()  'Application.ActiveInspector.CurrentItemで開いているアイテムを確認

    Dim oITEM As AppointmentItem
    
    '連絡先からドロップ後、予定表が開いているはずなので、
    Set oITEM = Application.ActiveInspector.CurrentItem
    '↑で、会議 予定表 As AppointmentItem を取得

    '開始時間・終了、出席者の名前を取得する
    Debug.Print oITEM.Start
    Debug.Print oITEM.End
    Debug.Print oITEM.Links.Item(1).Name
    
    '予定表を閉じる
    oITEM.Close olDiscard

End Sub

終わりの挨拶

まだまだ、先は長い感じ・・・