アイテム (親オブジェクトのインスタンス) が削除される前に発生します。
構文
式。BeforeDelete (Item, Cancel)
expression は MailItem オブジェクトを表す変数です。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| Item | 必須 | オブジェクト型 (Object) | 削除されるアイテムです。 |
| Cancel | 必須 | Boolean | False イベントが発生します。 イベント プロシージャでこの引数に True を設定する場合、操作は完了せず、アイテムは削除されません。 |
注釈
電子メール メッセージ、配布リスト、履歴、タスク、連絡先、または投稿がアクションによって削除されたときにこのイベントが発生するには、インスペクターを開く必要があります。
このイベントは、アイテムが削除されるたびに発生します。
例
次の Visual Basic for Applications (VBA) の例では、現在開いているアイテムを削除するかどうかを確認します。 この例を実行するには、削除可能な開いているメール アイテムが必要です。 [ いいえ] をクリックしても、アイテムは削除されません。 このイベントがキャンセルされた場合、 Microsoft Outlookには、エラー メッセージが表示されます。 したがって、コード内でこのイベントをキャプチャする必要があります。 これを行う方法の 1 つを次に示します。 Outlook によってイベント プロシージャを呼び出す前に、サンプル コードを ThisOutlookSession などのクラス モジュールに配置し、 DeleteMail() プロシージャを呼び出す必要があります。
Public WithEvents myItem As Outlook.MailItem
Public Sub DeleteMail()
Const strCancelEvent = "Application-defined or object-defined error"
On Error GoTo ErrHandler
Set myItem = Application.ActiveInspector.CurrentItem
myItem.Delete
Exit Sub
ErrHandler:
MsgBox Err.Description
If Err.Description = strCancelEvent Then
MsgBox "The event was cancelled."
End If
'If you want to execute the next instruction
Resume Next
'Otherwise it will finish here
End Sub
Private Sub myItem_BeforeDelete(ByVal Item As Object, Cancel As Boolean)
'Prompts the user before deleting an item
Dim strPrompt As String
'Prompt the user for a response
strPrompt = "Are you sure you want to delete the item?"
If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbNo Then
'Don't delete the item
Cancel = True
End If
End Sub
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。