Outlookサポートナビ!  ≫≫≫ Outlookフォーム作成/VBSプログラミング

 

◆ 既存アイテムのみ処理を実行する

 

既存アイテムのみ処理を実行したい場合、いくつかの方法があります。処理内容に合ったものを選ぶと良いでしょう。

オブジェクト

プロパティ(作成日時を取得)

Item

CreationTime

記述法: Item.CreationTime

 

新規アイテムの作成日時は「4501/01/01」になります。これを利用して新規アイテムと既存アイテムの処理を分けることができます。(If Item.CreationTime <> #4501/01/01# then… )

 

オブジェクト

イベント(既存アイテムを開いた場合にのみ発生)

Item

Read

記述法: Sub Item_Read()

 

★Item_Readイベントは既存アイテムを開いた場合に発生します。Item_Open()イベントは新規・既存どちらのアイテムが開いた場合にも発生します。

 

 

記述例:


記号

既存アイテムを開いた場合は現在のユーザーを最終閲覧者として取得
(新規アイテムの場合は最終更新者は取得しません。)

Sub Item_Read()
Set MyNameSpace = Application.GetNameSpace("mapi")
UserProperties("最終閲覧者").value = MyNameSpace.CurrentUser
End Sub

★既存アイテムを開いた際に発生するイベント

★Outlookルートオブジェクトを取得

★最終更新者に現在のログオンユーザーを格納

 

 


記号

既存アイテムを上書き保存する際、現在のユーザーを最終更新者として取得

Function item_write()
Set MyNameSpace = Application.GetNameSpace("mapi")
If Item.CreationTime <> #4501/01/01# then
UserProperties("最終更新者").value = MyNameSpace.CurrentUser
End if
End Function

★アイテム保存時にに発生するイベント

★Outlookルートオブジェクト取得

★作成日時が4501/01/01でないなら

★最終更新者に現在のログオンユーザーを格納

 

 

※補足

・日時を記述する場合は#で囲みます。