0

我有一个在 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.

有什么想法在新办公室中是“新”的,所以我可以修改我的程序以使其适用于所有版本的 MS-Offices?

4

3 回答 3

0

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

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

于 2017-01-24T13:55:34.813 回答
0

问题出在 Word 选项中。

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

  • 打开微软 Word。
  • 单击文件 > 选项。
  • 在启动选项下的常规部分中,取消选中“在阅读视图中打开电子邮件附件和其他不可编辑的文件”框。
  • 关闭 Word 并尝试再次导出并自动启动您的文档。Word 可能需要尝试几次才能意识到设置已更改。

来源

于 2017-01-25T07:18:09.343 回答
0

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

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

希望这可以帮助某人。

于 2021-01-20T10:54:42.650 回答