我正在尝试使用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)
然后我会问自己什么是单元格(4,3)是html编码,即人们犯的常见错误是文本包含标签(例如'>'或'Replace(Cells(4, 3), "&", "&")
或找到为您编码的预定义函数。在您的情况下,我猜测是法语,也许您的文本包含单字符字符,如带有重音和坟墓的字母等,也需要要编码。