0

在 c-ish 语言中,我正在实例化一个 MSScriptControl.ScriptControl 对象并使用 .AddCode 方法运行 VBScript,而后者又实例化了 CDO.Message 对象。

但是,每次我到达 "objMsg.HTMLBody = \"" + email_body + "\" \n" (注意这是在 c 中,VBScript 将是: objMsg.HTMLBody = email_body 代码行,我得到一个错误

Microsoft VBScript 编译错误:未终止的字符串常量

4

1 回答 1

0

最终,我发现问题在于变量email_body中包含字符 10 ( \n)(几个位置),它在 VBScript 中被解释为代码行的结尾(但在右引号之前),这是一个语法错误。

我无法想象我是唯一一个错过这个的人,所以我在这里写了一点“知识库”。

解决方法:在父语言中(在本例中,是一种叫做 hsl 的奇怪形式的 c),使用 string-replace 方法替换所有 inctances\n并且<br>它现在可以正常工作,例如: StrReplace(email_body, "\n", "<br>"

然后调用ScriptControl.AddCode( ... );方法。

于 2017-03-23T18:46:47.227 回答