2017-03-23 10 views
0

c-ish 언어에서 MSScriptControl.ScriptControl 개체를 인스턴스화하고 .AddCode 메서드를 사용하여 VBScript를 실행하면 CDO.Message 개체가 인스턴스화됩니다.MSScriptControl.ScriptControl 개체 내에서 CDO.message.HTMLBody 사용

그러나, 나는이 "objMsg.HTMLBody = \"" + email_body + "\" \n" 에 도착 할 때마다 (이가 C이었다주의, VBScript를은 다음과 같습니다 코드의 objMsg.HTMLBody = email_body 라인, 나는 오류

마이크로 소프트 VBScript 컴파일 오류가 발생했습니다 : 종결되지 않은 문자열 상수

답변

0

결국, 나는 거기에 문제가 변수 email_body 문자 10 (\n를) 포함 된 것을 알게되었다 (여러 장소 s)는 VBScript에서 코드 줄의 끝으로 (그러나 닫는 따옴표 앞에) 해석되었는데 구문 오류입니다.

내가 이것을 놓칠 수없는 유일한 사람이라고 상상할 수 없으므로 여기에 약간의 '지식 기반'을 쓰고 있습니다.

해상도 : 부모 언어에서 (이 경우, C라는 HSL의 이상한 형태), <br>\n의 모든 inctances을 대체 할 문자열 대체 방법을 사용하고 같은, 지금은 잘 작동합니다 : StrReplace(email_body, "\n", "<br>"

다음으로 ScriptControl.AddCode(...); 메서드를 호출하십시오.