次の方法で共有


MailItem.Open イベント (Outlook)

親オブジェクトのインスタンスを Inspector で開こうとすると発生します。

構文

開く (キャンセル)

expressionMailItem オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
Cancel 必須 ブール型 (Boolean) (未使用の vbscript)。 False イベントが発生します。 イベント プロシージャでこの引数に True を設定する場合ファイルを開く操作は完了せず、インスペクターが表示されていません。

注釈

このイベントが発生した時点では、Inspector オブジェクトの初期化は行われますが、表示はまだ行われません。 Open イベントは Read イベントと似ていますが、Read イベントは、インスペクターでアイテムが開かれるときだけでなく、直接編集に対応しているビューでユーザーがアイテムを選択するときにも発生します。

で Microsoft Visual Basic スクリプト版 (VBScript)、この関数の戻り値を False に設定する場合は、ファイルを開く操作は完了せず、インスペクターは表示されません。

この Visual Basic for Applications (VBA) の例では、 open を使用して、アイテムが開かれるたびに、"すべてのフィールド] ページを表示します。

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Sub Initialize_handler() 
 
 Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 myItem.Display 
 
End Sub 
 
 
 
Private Sub myItem_Open(Cancel As Boolean) 
 
 myItem.GetInspector.SetCurrentFormPage "All Fields" 
 
End Sub

例には、この Visual Basic for Applications では、 プロパティを使用して、アイテムが以前に読み取られたかどうかを検出します。 場合は、ユーザーがそれを開くしようとしたかどうかに聞いてきます。 場合は、ユーザーが [いいえ、戻り値は項目を開かないようにするのには False に設定します。

Public WithEvents myItem As Outlook.MailItem 
 
 
 
Sub Initialize_handler() 
 
 Set myItem = Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 
 myItem.Display 
 
End Sub 
 
 
 
Private Sub myItem_Open(Cancel As Boolean) 
 
 Dim mymsg As String 
 
 If myItem.UnRead = False Then 
 
 mymsg = "You have already read this message. Do you want to open this message again?" 
 
 If MsgBox(mymsg, 4) = 6 Then 
 
 Cancel = False 
 
 Else 
 
 Cancel = True 
 
 End If 
 
 End If 
 
End Sub

関連項目

MailItem オブジェクト

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。