BeforeItemPaste 事件

       

粘贴 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