粘贴 Microsoft Outlook 项目时发生。该事件在开始后可以取消。
Private Sub expression_BeforeItemPaste(ClipboardContent As Variant, ByVal Target As MAPIFolder, Cancel As Boolean)
expression 该表达式返回一个在类模块中以事件形式声明的 Explorer 对象。
ClipboardContent 必选,Variant 类型。要粘贴的内容。
Target 必选,MAPIFolder 类型。粘贴的目标。
Cancel 必选,Boolean 类型。当事件发生时为 False。如果事件过程将此参数设为 True,将不完成该操作,并且不删除项目。
以下示例在将剪贴板中的内容粘贴到指定目标前提示用户。如果用户单击“是”,就将剪贴板中的内容复制到目标位置,并且为复制的每个项目显示一个消息框。
Private Sub objExplorer_BeforeItemPaste(ClipboardContent As Variant, ByVal Target As MAPIFolder, Cancel As Boolean)
Dim lngAns As Integer 'users' answer
'Prompt user about paste
lngAns = MsgBox("Are you sure you want to past the contents of the clipboard into the " _
& Target.Name & "?", vbYesNo)
If lngAns = vbYes Then
'If user wants to paste
If TypeOf ClipboardContent Is Selection Then
'if is collection, display each object name
Dim obj As Object
For Each obj In ClipboardContent
'Display subject of item
MsgBox "Pasting Item: " & obj.Subject
'Next Item
Next
End If
Cancel = False
Else
'If user clicks no, display message and cancel paste
MsgBox "The clipboard content was not pasted."
Cancel = True
End If
End Sub