【问题标题】:Outlook 2010: How to compose e-mail from VBScript/JScriptOutlook 2010:如何从 VBScript/JScript 撰写电子邮件
【发布时间】:2020-06-24 15:57:22
【问题描述】:

我有一些 JScript 代码我已经使用了几年,它能够读取 XML 文件并打开 Outlook 撰写窗口,其中预先填充了 to/cc/subject 字段并根据 XML 数据预先附加了文件。然后,用户可以附加更多文件、进行任何更正并发送电子邮件。代码核心部分使用CDO创建新消息:

var ol = WScript.CreateObject("Outlook.Application");
var msg = ol.CreateItem(olMailItem);

不幸的是,我刚刚发现这不再适用于 Outlook 2010 64 位,因为不再支持 CDO。 suggestion from Microsoft 将更新您的应用程序以改用 Outlook 对象模型,但我根本找不到任何示例来说明如何使用 Outlook 对象模型从 VBScript 或 JScript 打开撰写窗口。 MSDN 上的所有“VB”示例在通过 VBScript 解释器运行时都会产生语法错误。

谁能指出任何简短的示例,演示如何使用 VBScript 或 JScript 与 Outlook 2010 交互?

编辑:刚刚意识到问题是我正在使用 MAPI.Session 来调整附件属性,这就是失败的原因。我想我需要找到它已被替换为:

var oSession = WScript.CreateObject("MAPI.Session");
oSession.Logon("", "", false, false);
var oMsg = oSession.GetMessage(strMsgID);
var oAttachFields = oMsg.Attachments.Item(i+1).Fields;
...

【问题讨论】:

    标签: javascript vbscript outlook


    【解决方案1】:

    好的,事实证明大多数 MAPI.Session 内容已与实际对象合并,使用我帖子中的第一段代码(“Outlook.Application”)仍然可以访问这些内容。我只是使用 MAPI.Session 东西来隐藏图像附件(因此它们可以在邮件正文中内嵌显示,而不是作为电子邮件附件的文件),但现在这似乎是自动合并的。

    所以我实际上要做的就是删除 MAPI.Session 的东西,然后一切都开始工作了。我会尽快发布代码链接,以防其他人发现它有用。

    编辑:Here is the code on GitHub 如果有人想要一个相对简单的例子。

    【讨论】:

      猜你喜欢
      • 2012-01-16
      • 2017-05-13
      • 1970-01-01
      • 2022-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多