Vba 在Outlook电子邮件中查找并突出显示word

Vba 在Outlook电子邮件中查找并突出显示word,vba,outlook,Vba,Outlook,如何在电子邮件正文(组成部分)中查找文本(在本例中为-1.00(一些负数)或+1.50(一些正数)并更改这些单词的字体颜色。即使您将问题简化为编辑,我也感到困惑。您真的想将数字而不是符号设置为字体吗?结果对我来说非常奇怪 我已经创建了一个子程序,除了编辑之外什么都不做。你可以在它周围添加代码来实现你的目标,或者你可以从我的子程序中选择想法,并将它们合并到你自己的例程中 此子程序的参数为: 前缀和文本 您可以使用Prefix=“+”和Text=“1.50”或Prefix=“”和Text=“+1.5

如何在电子邮件正文(组成部分)中查找文本(在本例中为-1.00(一些负数)或+1.50(一些正数)并更改这些单词的字体颜色。

即使您将问题简化为编辑,我也感到困惑。您真的想将数字而不是符号设置为字体吗?结果对我来说非常奇怪

我已经创建了一个子程序,除了编辑之外什么都不做。你可以在它周围添加代码来实现你的目标,或者你可以从我的子程序中选择想法,并将它们合并到你自己的例程中

此子程序的参数为:

前缀和文本

您可以使用Prefix=“+”和Text=“1.50”或Prefix=“”和Text=“+1.50”。第一个字符串只格式化数字;第二个字符串也格式化符号。这些字符串的长度可以是任何内容,而不仅仅是您请求的1和4

开始格式和结束格式

格式化Html文本有多种可能的方法,但我想不出一种方法不包括在文本前放置开始字符串,在文本后放置结束字符串。为了进行测试,我创建了一个包含一些黑色、一些红色和一些蓝色文本的Html文档。我将它们放置在“+1.50”位置我为Start Format和EndFormat传递的值是“”和“”。对EditHtml的调用将所有“+1.50”或所有“1.50”设置为绿色

Html

这是要修改的Html文档。它是“通过引用”传递的,因此原始字符串将被更新

我希望这有帮助

Sub EditHtml(ByVal Prefix As String, ByVal Text As String, _
             ByVal StartFormat As String, ByVal EndFormat As String, _
             ByRef Html As String)

  Dim Pos As Long

  Pos = 1

  ' Loop for each occurrence of Prefix & Text.
  Do While True
    Pos = InStr(Pos, Html, Prefix & Text)
    If Pos = 0 Then
      Exit Do
    End If

    Pos = Pos + Len(Prefix) ' Step over prefix

    ' Insert string that starts format change
    Html = Mid(Html, 1, Pos - 1) & StartFormat & Mid(Html, Pos)

    Pos = Pos + Len(StartFormat) ' Step over string that starts format change
    Pos = Pos + Len(Text)        ' Step over text whose format is to be changed

    ' Insert string that ends format change
    Html = Mid(Html, 1, Pos - 1) & EndFormat & Mid(Html, Pos)

    Pos = Pos + Len(EndFormat) ' Step over string that ends format change

  Loop

End Sub

这个网站的存在是为了让程序员互相帮助开发。它不是一个可以发布模糊需求并期望解决方案的网站。你说“-1.00”(一些负数)。这包括“-1”、“1.”和“-1.0”吗?“+1.50”包括“1.5”吗?真的只有两个数字还是更多?这些数字是永久固定的,在一段合理的时间内固定的,还是每次运行宏时都会更改。这些数字是更改为相同的字体还是不同的字体。字体是固定的还是可以更改的。这些只是几个明显的问题。您必须完成规范b在考虑编码之前。如果你不确定你想要什么,为一个实验创建一个简单的规范。一旦你有了规范,就把它分成几个部分。宏如何获得数字?宏如何获得字体?如何更改html文档中字符串的字体?分别研究这些部分。有如果你想找到单个问题的解决方案,你会发现很多代码片段。将html正文保存为文件并手动修改。这将很好地说明代码的结构。vba代码中查找和选择所需文本的部分(即“-”或“+”后的4个字符)是我遇到的最大问题符号。之后我可以输入规格。