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