我想将 Outlook 2007 中的宏分配给工具栏按钮,当 Windows 剪贴板中有格式化的文本时,该按钮将执行与这些点击等效的操作:
- 点击底部箭头处的粘贴图标
- 单击选择性粘贴链接。
- 单击未格式化的文本链接。
我在 Excel 2007 和 Word 2007 中也有类似的宏,但无法在 Outlook 2007/VBA 中运行。这种宏的 VBA 代码是什么?
答案1
在作者 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
为了使其工作,我还需要在 Outlook 2007 中打开 VBA 编辑器,单击“工具 - 引用”,然后启用对 Microsoft Word 12.0 对象库的引用。然后,我将宏链接到 QAT 工具栏中的自定义按钮,用于创建新消息和回复,它工作得很好!
我可能之前提到过这个,但是哇哦!!!
谢谢你,苏!
答案2
它应该与 Word 2007 中的相同:
Sub FormatText()
'
' FormatText Macro
'
'
Selection.PasteAndFormat (wdFormatPlainText)
Selection.PasteSpecial Link:=False, DataType:=20, Placement:=wdInLine, _
DisplayAsIcon:=False
End Sub
- 在 Outlook 中,指向“工具”菜单上的“宏”,然后单击“Visual Basic 编辑器”。
- 在项目窗口中,双击想要包含宏的模块。
- 在插入菜单上,单击过程。
- 在名称框中,输入宏的名称,然后单击确定。在子程序主体中输入要运行的代码(或从 Word 中复制/粘贴)