在c-ish语言中,我实例化了一个MSScriptControl.ScriptControl对象并使用.运行 VBScript 的 AddCode 方法,这反过来又实例化了 CDO。消息对象。
然而,每次我到达 "objMsg.HTMLBody = "" + email_body + "" n"
(注意这是在 c 中,VBScript 将是: objMsg.HTMLBody = email_body
代码行,我收到错误
Microsoft VBScript 编译错误:未终止的字符串常量
最终,我发现问题是变量email_body
包含字符 10 ( n
( (几个地方(,这在 VBScript 中被解释为一行代码的结尾(但在结束引号之前(,这是一个语法错误。
无法想象我是唯一一个错过这一点的人,所以我在这里写了一个小小的"知识库"。
分辨率:在父语言中(在这种情况下,一种奇怪的 c 形式称为 hsl(,使用字符串替换方法将 n
的所有缩<br>
替换,它现在可以正常工作,例如: StrReplace(email_body, "n", "<br>"
然后调用ScriptControl.AddCode( ... );
方法。