[英]Editing OFT with VBA code
我正在嘗試使用 vba 代碼編輯 OFT
Private Sub CommandButton1_Click()
template = "T:\Coordination des interventions\Coordination des changements\Communications\Interruption de service planifiée - Environnements applicatifs Oracle - Copie.oft"
strNew = InputBox("Jour de la semaine")
strFind = "%>JourSemaine<%"
Dim oApp As Object, oMail As Object
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItemFromTemplate(template)
With oMail
'strFind = "Code:"
'strNew = "Code:" & Cells(4, 3) ' for example
.HTMLBody = Replace(oMail.HTMLBody, strFind, strNew)
.Display
End With
End Sub
這是我收到錯誤 287 的地方(我的系統是法語)
.HTMLBody = Replace(oMail.HTMLBody, strFind, strNew)
有人有線索嗎?
確保您設置了格式良好的 HTML 標記。 例如:
With oMail
'Set body format to HTML
.BodyFormat = olFormatHTML
.HTMLBody = "<HTML><BODY>Enter the message text here. </BODY></HTML>"
.Display
End With
調用 Replace 方法也可以替換一些 HTML 標簽。
對我來說顯而易見的事情,不是我是 Outlook vba 專家,但如果這純粹是一個 html 問題,正如我上面的人所說但沒有說明 - 你的strFind包含 html 標簽“>”和“<”那么為什么沒有您在strNew 中添加了它們。 如果我假設這只是代表您的錯字,而您的實際代碼是將"Code:"
替換為"Code: " + Cells(4, 3)
那么我會問自己 Cells(4, 3) 中有什么它是 html 編碼的,即人們犯的常見錯誤是文本是否包含標簽(例如“>”或“<”)或與號(“&”),然后您需要使用替換功能對其進行更改,例如Replace(Cells(4, 3), "&", "&")
或找到為您編碼的預定義函數。 在您的情況下,我猜是法語,也許您的文本包含 uni-code 字符,例如帶有重音和墳墓等的字母,這些字符也需要進行編碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.