Vba 在文本体中插入字符串变量

Vba 在文本体中插入字符串变量,vba,outlook,Vba,Outlook,我想在电子邮件的文本正文中显示两个字符串变量。我知道我们可以定义正文文本,然后将正文作为一个整体插入。我想更进一步,在文本中插入两个项目,并显示为实际名称,而不是VBA 这两个字符串变量是电子邮件的前两个收件人的名字,在本例中,在VBA中命名为strTO和strTO1。当前宏创建回复并将其插入问候语中。我也希望它们出现在正文中 示例:收件人姓名分别为汤姆·琼斯和西弗勒斯·斯内普、斯特托和斯特托1。我插入它们,如下文所示: strbody = "<H2><Font Face=ca

我想在电子邮件的文本正文中显示两个字符串变量。我知道我们可以定义正文文本,然后将正文作为一个整体插入。我想更进一步,在文本中插入两个项目,并显示为实际名称,而不是VBA

这两个字符串变量是电子邮件的前两个收件人的名字,在本例中,在VBA中命名为strTO和strTO1。当前宏创建回复并将其插入问候语中。我也希望它们出现在正文中

示例:收件人姓名分别为汤姆·琼斯和西弗勒斯·斯内普、斯特托和斯特托1。我插入它们,如下文所示:

strbody = "<H2><Font Face=calibri>Good Day, </H2>" & strTO & _
      "Please review your data below (link) and approve.<br>" & _
      "Pleaes contact strTO1 if you have problems.<br>" & _
      "<A HREF=""http://www.google.com.htm"">Click Here</A>" & _
      "<br><br><B>Thank you</B>"
strbody=“你好,&strTO&_ “请查看下面的数据(链接)并批准。
”&_ “如果您有问题,请联系strTO1。
”&_ "" & _ “
谢谢” 当我运行宏时,我希望它是什么样子的(仅为本文的目的而加粗):
你好,汤姆
请查看下面的数据(超链接)并批准。
如果您有问题,请联系西弗勒斯。
(显示“单击此处”的超链接)
多谢各位

现在发生的事情(空白表示空白):
早安空白
请查看下面的数据(显示“单击此处”的超链接)并批准。
如果您有问题,请联系strTO1。
多谢各位

我希望我可以使用某种标记来插入strTO和strt1

下面是包含上述代码的整个宏:

Sub AutoReply()
    Dim oMail As MailItem
    Dim oReply As MailItem
    Dim GreetTime As String
    Dim strbody As String
    Dim SigString As String
    Dim signature As String
    Dim strGreetNameAll As String
    Dim lastname As String
    Dim strgreetname As String
    Dim R As Long
    Dim text
    Dim strTo As String
    Dim strTo1 As String

    Select Case Application.ActiveWindow.Class
        Case olInspector
            Set oMail = ActiveInspector.CurrentItem
        Case olExplorer
            Set oMail = ActiveExplorer.Selection.Item(1)
    End Select

    strbody = "<H2><Font Face=calibri>Good Day, </H2>" & <strTo> & _
          "Please review your data below and approve.<br>" & _
          "Please contact strTO1 if you have problems.<br>" &
          "<A HREF=""http://www.google.com.htm"">Click Here</A>" & _
          "<br><br><B>Thank you</B>"

    SigString = Environ("appdata") & _
            "\Microsoft\Signatures\90 Days.htm"

    If Dir(SigString) <> "" Then
        strGreetName1 = Left$(oMail.SenderName, InStr(1, oMail.SenderName, " ") - 1)
        lastname = Right(oMail.SenderName, Len(oMail.SenderName) - InStr(1, oMail.SenderName, " "))              

        If Dir(SigString) <> "" Then
            signature = GetBoiler(SigString)
        Else
            signature = ""
        End If

        Set oReply = oMail.ReplyAll   

        Select Case Application.ActiveWindow.Class
        Case olInspector
            Set oMail = ActiveInspector.CurrentItem
        Case olExplorer
            Set oMail = ActiveExplorer.Selection.Item(1)
        End Select

        With oReply    
            For R = 1 To .recipients.Count
                Debug.Print .recipients(R)
                strgreetname = Left$(.recipients(R), InStr(1, .recipients(R), " "))
                strGreetName2 = Left$(.recipients(2), InStr(1, .recipients(R), " "))
                strGreetNameAll = strGreetNameAll & strgreetname
                strGreetNameAll1 = strgreetname
                strTo = Left(strGreetNameAll, InStr(.recipients(R), " "))
                strTo1 = Left(strGreetName2, InStr(1, .recipients(R), " "))
                strTo = Left(.recipients(1), InStr(.recipients(1) & " ", " ") - 1)    

                If .recipients.Count > 1 Then
                    strTo1 = Left(.recipients(2), InStr(.recipients(2) & " ", " ") - 1)
                Else
                    strTo1 = ""
                End If
            Next R

            Debug.Print strGreetNameAll

            strGreetNameAll = Left(strGreetNameAll, Len(strGreetNameAll) - 1)

            Debug.Print strGreetNameAll

            .HTMLBody = "<Font Face=calibri>Dear " & strTo & " and " & strTo1 & ", " & strbody & "<br>" & signature
            .Display
        End With
    End If
End Sub
Sub AutoReply()
Dim oMail作为邮件项
作为邮件项目提交
像绳子一样模糊的问候时间
像弦一样暗的链子
字符串作为字符串
作为字符串的数字签名
Dim strGreetNameAll作为字符串
将lastname设置为字符串
Dim strgreetname作为字符串
变暗,变长
暗文本
作为字符串的Dim strTo
作为字符串的Dim strTo1
选择Case Application.ActiveWindow.Class
病例监测
设置oMail=ActiveInspector.CurrentItem
箱式油炸机
设置oMail=ActiveExplorer.Selection.Item(1)
结束选择
strbody=“你好,&&_
“请检查下面的数据并批准。
”&_ “如果有问题,请与strTO1联系。
”& "" & _ “
谢谢” SigString=Environ(“appdata”)&_ “\Microsoft\Signatures\90天.htm” 如果Dir(SigString)“,则 strGreetName1=左$(oMail.SenderName,InStr(1,oMail.SenderName,“”)-1) lastname=Right(oMail.SenderName,Len(oMail.SenderName)-InStr(1,oMail.SenderName,“”) 如果Dir(SigString)“,则 signature=GetBoiler(SigString) 其他的 signature=“” 如果结束 设置oReply=oMail.replyll 选择Case Application.ActiveWindow.Class 病例监测 设置oMail=ActiveInspector.CurrentItem 箱式油炸机 设置oMail=ActiveExplorer.Selection.Item(1) 结束选择 有奥雷普利 对于R=1到.recipients.Count 调试.打印.收件人(R) strgreetname=Left$(.recipients(R),InStr(1,.recipients(R),“”) strGreetName2=左$(.recipients(2),InStr(1,.recipients(R),“”) strGreetNameAll=strGreetNameAll&strgreetname strGreetNameAll1=strgreetname strTo=Left(strGreetNameAll,InStr(.recipients(R),“”) strt1=左(strGreetName2,InStr(1,.recipients(R),“”) strTo=左(.recipients(1),InStr(.recipients(1)和“”)-1) 如果.recipients.Count>1,则 strTo1=左(.recipients(2),InStr(.recipients(2)和“”)-1) 其他的 strTo1=“” 如果结束 下一个R 调试。打印strGreetNameAll strGreetNameAll=左(strGreetNameAll,Len(strGreetNameAll)-1) 调试。打印strGreetNameAll .HTMLBody=“亲爱的”&strTo&“和”&strTo1&“,&strbody&”
“&signature .展示 以 如果结束 端接头
你就快到了。以下各项将起作用:

 strbody = "<H2><Font Face=calibri>Good Day, </H2>" & strTo & _
          "Please review your data below and approve.<br>" & _
          "Please contact " & strTO1 & " if you have problems.<br>" &
          "<A HREF=""http://www.google.com.htm"">Click Here</A>" & _
          "<br><br><B>Thank you</B>"
strbody=“你好,&strTo&_ “请检查下面的数据并批准。
”&_ 如果有问题,请联系“&strTO1&”。
“& "" & _ “
谢谢” 您需要确保
strTo
strTo1
已定义并设置,然后才能将它们传递给
strBody


因此,将
strBody
放在r=1的
循环之后。

您就快到了。以下各项将起作用:

 strbody = "<H2><Font Face=calibri>Good Day, </H2>" & strTo & _
          "Please review your data below and approve.<br>" & _
          "Please contact " & strTO1 & " if you have problems.<br>" &
          "<A HREF=""http://www.google.com.htm"">Click Here</A>" & _
          "<br><br><B>Thank you</B>"
strbody=“你好,&strTo&_ “请检查下面的数据并批准。
”&_ 如果有问题,请联系“&strTO1&”。
“& "" & _ “
谢谢”
您需要确保
strTo
strTo1
已定义并设置,然后才能将它们传递给
strBody


因此,将
strBody
放在
后面,r=1到…
循环。

@学习这个东西你的问题说你想要
“Good Day,Tom”
中的名字前面,但我认为从语法上讲,它应该放在-即
Good Day Tom,
(可能是
Day而不是
Day
). 如果是这样,请稍微修改此答案,而不是使用
…calibri>Good Day“&strTo&
使用
…calibri>Good Day”&strTo&“,”和
。这也将确保整个
“Good Day Tom”
被视为
H2
@scottholtzman,哇,我真不敢相信这么简单