2014-08-27 89 views
0

我想使用VBscript打開模板(或.msg),編輯文本正文,同時保留格式並最終發送電子郵件。VB腳本,修改文本正文,同時保持格式化

電子郵件中有一段名爲「插入日期」的部分,我想插入一個日期。

這裏是一些代碼,我目前有:

Set ol = CreateObject("Outlook.Application") 
Set msg = ol.CreateItemFromTemplate([location of template file] 

Set doc = msg.GetInspector.WordEditor 

If Not doc Is Nothing Then 
    doc.application.selection.find.execute _ 
     "insert date", , , , , , , , , DateValue(Now() - Weekday(Now(), vbMonday) - 2), wdReplaceAll 
End If 

不幸的是這不替換文本,而是隻出現突出顯示的文本,我無法做其他事情。

另一個相關的問題: 我是新來的編程,我用VBScript,因爲我來自VBA,我在做一個非常類似的文件。看來,VBScript不僅是限制性的,而且我也不覺得它非常易於使用(也許是因爲它不是非常強大?) 是否有另一種語言可以用來自動化這類事情並與Outlook進行交互? 也許Python,但我不確定從哪裏開始使用Microsoft Office集成。 注:我相信許多編碼語言將能夠做到這一點,但我受限於我可以在工作中使用,所以任何不太知名的語言肯定不會被支持:(

回答

0

我不知道vbs或替代)....

但你這個標記與Outlook,VBA,還有我喜愛做一些與此代碼:

mailitem.HTMLBody = Replace(mailitem.HTMLBody, "text old", "text new" & now()) 

您還可以使用HTML標籤,使文本加粗,大一點的東西

M斧

+0

你好馬克斯,感謝您回覆:)當我使用這種方法,它的工作原理,但它創建雙行間距的原因。它似乎在每行之前和之後添加空格,並刪除了一些突出顯示。我不知道爲什麼會發生這種情況,但我不知道如何防止它發生。另外,我不知道如何用宏修改這些部分。 原始文本以RTF格式組成。 – penfold1992 2014-08-28 15:00:25

+0

你能爲我上傳模板嗎?你是不是用「帶宏」的意思 - 如前所述,我只能在vba中提供幫助,在那裏我幾乎是一個初學者;-) – Max 2014-08-29 07:32:47