MailMerge 不适用于 Office 2016

MailMerge not working on Office 2016

我有一个在 Word 中使用 mailmerge 的程序,它在 office 2007 中完美运行并在 2010 中进行了测试。但在 office 2016 中它会引发错误

代码如下

ASSIGN lv_cDocument = fiFile.                 /* chosen from program select */
ASSIGN lv_cDataFile = "C:\a\data.dat".
ASSIGN lv_cMailMergeFile = "C:\a\dataOutput.doc".

MailMerge(lv_cDocument,                      /* Main Document */
          lv_cDataFile,                      /* File that holds all the data */
          lv_cMailMergeFile,                 /* File to hold new mail merge document */
          NO).   

DEFINE VARIABLE oWord AS COM-HANDLE NO-UNDO.

CREATE "Word.Application" oWord.
oWord:Documents:Open("C:\a\dataOutput.doc").
oWord:Visible = True.

RELEASE OBJECT oWord.

想知道新办公室中的 "new" 是什么,以便我可以修改我的程序以使其适用于所有版本的 MS-Offices 吗?

在执行 COM 时,两个应用程序(OrenEdge 和 Word)应该相同 "bitness"。为了安全起见,这两种产品都应该是 32 位的——我不能 100% 确定 64 位 Word 是否支持自动化接口。

11.6 的替代方案可能是 Interop API 的 (.NET):https://msdn.microsoft.com/de-de/library/microsoft.office.interop.word(v=office.11).aspx

问题出在 Word 选项中。

解决自动启动错误的步骤:

  • 打开 MS Word。
  • 单击“文件”>“选项”。
  • 在“启动选项”下的“常规”部分,取消选中 "Open e-mail attachments and other uneditable files in reading view" 框。
  • 关闭 Word 并再次尝试导出并自动启动您的文档。 Word 可能需要尝试几次才能意识到设置已更改。

Source

我的问题是虽然它显示只安装了 ms office 2016 并且只有一个版本。当我查看开始并转到 outlook 时,它显示了正常的 outlook 图标和另一个显示 outlook 2016 的图标。

所以我在普通 outlook 上设置了用户配置文件,确保它是打开的而不是 outlook 2016,现在邮件合并对我有用。

希望这对某人有所帮助。