如何从WordEditor对象中获取所选文本并更改其颜色?

时间:2010-12-05 21:24:50

标签: outlook outlook-vba outlook-object-model outlook-2010

我正在尝试使用WordEditor对象来修改所选文本(Outlook VBA)的颜色,但我无法找到有关如何操作的文档或示例。有什么想法吗?

我不想使用HTML编辑器,我需要WordEditor的解决方案。

我尝试调试代码并使用OutlookSpy,但每次我进入WordEditor.Content时,我的视图会冻结并重新启动:(。

在Windows 7上使用Outlook 2010

3 个答案:

答案 0 :(得分:1)

好的 - 我发现了一些有用的东西。丑陋,但有效:

Sub EmphesizeSelectedText(color As Long)
    Dim msg As Outlook.MailItem
    Dim insp As Outlook.Inspector

    Set insp = Application.ActiveInspector
    If insp.CurrentItem.Class = olMail Then
        Set msg = insp.CurrentItem
        If insp.EditorType = olEditorWord Then

            Set document = msg.GetInspector.WordEditor
            Set rng = document.Application.Selection

            With rng.font
                .Bold = True
                .color = color
            End With
        End If
    End If
    Set insp = Nothing
    Set rng = Nothing
    Set hed = Nothing
    Set msg = Nothing
End Sub

最终我找到了 WordEditor 返回 Document 对象的引用。从那里开始,我花了两个小时的时间来查看MSDN非常慢的网络帮助,以便找到所需的文本,我需要将其升级到 Application 。 重要提示 - 更改rng.Style.Font并没有按照我的意愿去做,它改变了整个文档,当我开始使用with rng.font我的问题解决了(感谢Excel的marco录制功能向我展示了正确的语法)

答案 1 :(得分:0)

注释是德语

fo:marker

Verweise :(我不知道它在英文版中的称呼)

  • 应用程序的Visual Basic
  • Microsoft Outlook 15.0对象库
  • OLE自动化
  • Microsoft Office 15.0对象库
  • Microsoft Word 15.0对象库

Gruz $ 3v | \ |

答案 2 :(得分:0)

另一个例子:

j["jackson"] <- "g"

Gruz $ 3v | \ |