自动执行选择性粘贴 - 无格式文本的 Outlook 2007 宏会是什么样的?

Gar*_*sen 6 microsoft-outlook microsoft-outlook-2007 vba

我想将 Outlook 2007 中的宏分配给工具栏按钮,当 Windows 剪贴板中有格式化文本时,该按钮将执行与这些点击等效的操作:

  1. 单击底部箭头旁边的粘贴图标
  2. 单击粘贴特殊链接。
  3. 单击无格式文本链接。

我在 Excel 2007 和 Word 2007 中有类似的宏,但无法在 Outlook 2007/VBA 中使用。这种宏的 VBA 代码是什么?

Gar*_*sen 5

在作者 Sue Mosher 的大量帮助下,我终于设法在 Outlook 2007 上使用了一个宏来自动点击粘贴 - 选择性粘贴 - 无格式文本!呜呜呜!!!

我剪切和粘贴到 Outlook 电子邮件中的大部分内容都是经过格式化的。使用 CTRL-V 粘贴或单击“粘贴”按钮可保持格式不变。单击粘贴 - 选择性粘贴 - 无格式文本没什么大不了的,但我每次这样做都需要几秒钟的时间——而且我经常这样做。所以这个小东西对我来说会节省时间。

VBA 子程序:

Sub Paste_Special_Unformatted()
    Dim objDoc As Word.Document
    Dim objSel As Word.Selection
    On Error Resume Next
    ' get a Word.Selection from the open Outlook item
    Set objDoc = Application.ActiveInspector.WordEditor
    Set objSel = objDoc.Windows(1).Selection
    ' now do what you want with the Selection
    objSel.PasteSpecial Link:=False, DataType:=wdPasteText
    Set objDoc = Nothing
    Set objSel = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

为了让它工作,我还需要在 Outlook 2007 中打开 VBA 编辑器,单击工具 - 引用,然后启用对 Microsoft Word 12.0 对象库的引用。然后我将宏链接到 QAT 工具栏中的一个自定义按钮,用于创建新消息和回复,它工作得很好!

我之前可能已经提到过这一点,但是 WOO-HOO !!!!

谢谢你,苏!


Nic*_*eru 1

它应该与 Word 2007 中的相同:

    Sub FormatText()
'
' FormatText Macro
'
'
    Selection.PasteAndFormat (wdFormatPlainText)
    Selection.PasteSpecial Link:=False, DataType:=20, Placement:=wdInLine, _
        DisplayAsIcon:=False
End Sub
Run Code Online (Sandbox Code Playgroud)
  1. 在 Outlook 中,指向“工具”菜单上的“宏”,然后单击“Visual Basic 编辑器”。
  2. 在“项目”窗口中,双击要包含宏的模块。
  3. 在“插入”菜单上,单击“过程”。
  4. 在“名称”框中,键入宏的名称,然后单击“确定”。在子例程主体中键入要运行的代码(或从 Word 复制/粘贴)