[英]VBA Outlook Mail Body
在 VBA 腳本中,我正在嘗試編寫一個具有以下簽名的子函數
Sub(taskName As String , myGroup As String, myFile As String ,myPer As String, RelatedTasks() As String )
Dim olApp As Outlook.Application
Dim m As Outlook.MailItem
Set olApp = New Outlook.Application
Set m = olApp.CreateItem(olMailItem)
With m
.display
.To = "somewhere@someplace.com"
.Subject = "Test Events"
.HTMLBody/.body = ...
End Sub
郵件正文如下:
大家好,
請查找以下信息。
任務:任務名稱
相關任務:RelatedTasks()
文件:我的文件
人: myPer
在 Sub 函數中,冒號左邊的模式總是不變的。右邊會根據函數的輸入而改變。
為此,我正在閱讀包含所需簽名的 Template.htm。
Template.htm 包含:
Hello All,
Please find the following information.
TASK: {{mytask}}
RELATED TASK:{{myRelatedTasks}}
FILE : {{myFile}}
PERSON : {{myPerson}}
在 VBA 代碼中,我正在替換所有字段。
我面臨的問題是 {{mytask}} 和 {{related tasks}} 也應該有一個 HTML 參考。 我已成功將鏈接添加到 mytask 。單擊郵件中的 mytask 將跳轉到相應的網絡鏈接。
<a href = "www.something.com&id ={{taskID}}>
{{mytask}}.....<a href = "www.xxx.com&id={{}}>{{myRelatedTasks}}
但由於它是一個數組,因此無法將相同的內容添加到相關任務中。
我的 VBA 代碼:
Option Explicit
Sub CreateNewMail()
Dim olApp As Outlook.Application
Dim m As Outlook.MailItem
Dim sigPath As String, sigText As String
Dim fso As Scripting.FileSystemObject
Dim ts As Scripting.TextStream
Dim t As String
Dim r(5) As Variant
t = "233444:dshfjhdjfdhjfhjdhfjdhfjd"
r(0) = "122343:dsjdhfjhfjdh"
r(1) = "323243:jfjfghfjhjddj"
r(2) = "834783:gffghjkjkgjkj"
Set olApp = New Outlook.Application
Set m = olApp.CreateItem(olMailItem)
sigPath = "C:\Users\Pavan-Kumar\Desktop\vbs\TestEvents.htm"
Set fso = New Scripting.FileSystemObject
Set ts = fso.OpenTextFile(sigPath)
sigText = ts.ReadAll
ts.Close
Set fso = Nothing
sigText = Replace(sigText, "{{mytask}}", t)
sigText = Replace(sigText, "{{myRelatedTasks}}", Join(r, "<br>"))
With m
.display
.To = "somewhere@someplace.com"
.Subject = "Test Events"
.HTMLBody = sigText
End With
End Sub
而且當我加入相關任務時,我希望它們以縮進的形式出現在另一個之下。 我嘗試將 "\\t" 作為分隔符,但沒有成功。
我目前在 Outlook 郵件中的 O/P:
這是我為解決同一問題所做的工作:
{{recipient name}}
Replace
,填寫您的字段。 例如strHTMLTemplate = Replace(strHTMLTemplate, "{{recipient name}}", "Jane Doe")
對於相關任務,您似乎只希望它們位於一行中。 在這種情況下,只需在您的模板中創建一個“字段”, {{RelatedTasks}}
然后像這樣strHTMLTemplate = Replace(strHTMLTemplate, "{{RelatedTasks}}", Join(RelatedTasks, ", "))
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.