在c++语言中,我实例化了一个MSScriptControl.ScriptControl对象,并使用.AddCode方法运行VBScript,而VBScript又实例化了CDO.Message对象。
然而,每次我到达"objMsg.HTMLBody = \"" + email_body + "\" \n" (注意,这是在c #中),VBScript将是:代码的objMsg.HTMLBody = email_body行,我得到了一个错误
Microsoft VBScript编译错误:未终止的字符串常量
发布于 2017-03-23 18:46:47
最后,我发现问题在于变量email_body在其中包含了字符10 (\n) (几个地方),在VBScript中被解释为代码行的末尾(但在结束引用之前),这是语法错误。
我无法想象我是唯一一个错过这一切的人,所以我在这里写了一个小小的“知识库”。
解决方案:在父语言(在本例中,是一种名为hsl的奇怪的c++)中,使用字符串替换方法将\n的所有索引替换为<br>,它现在运行得很好,例如:StrReplace(email_body, "\n", "<br>"。
然后调用ScriptControl.AddCode( ... );方法。
https://stackoverflow.com/questions/42984528
复制相似问题