使用带有WordDocument.MailMerge的[file]数据源

时间:2016-04-14 22:26:51

标签: vb.net vba ms-office word-vba office-interop

每次发生此错误时,我都会收到一个日志文件,因此肯定会发生这种情况,我只是无法找到如何重现它,或者为什么会发生这种错误。

我将Word文档与.dat文件合并(通过vb.net),我的代码合并很简单:

document.WordDocument.MailMerge.OpenDataSource(document.MergeFilePath, wdOpenFormatText, , , False)

document.MergeFilePath指向包含datasource文档的本地物理.dat文件。

在某些客户端上,此(间歇性地)会导致错误,某些错误会有所不同,但大多数都是Exception: Word was unable to open the data source.

我尝试在合并文档时检查以下属性,以确保在尝试设置datasource之前正确设置/处于正确状态: Application.PrintPreview |更改了ActiveWindow.View.Type | (来自wdReadingView)| Options.AllowReadingMode

同样,在我这方面,这一切都很好,并且我没有能够得到任何错误 - 虽然我知道它们正在发生。

我的日志文件中包含以下内容:

  • Office版本:Office2013
  • Word ViewType:wdNormalView
  • Word PrintPreview:False
  • Word AllowReadingMode:False

异常详情: 堆栈跟踪:在Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateCall(Object o,Type objType,String name,Object [] args,String [] paramnames,Boolean [] CopyBack,Boolean IgnoreReturn)at [PROJECT PATH] .MergeDocument(Document& ; [PROJECT Path] \ FILENAME.vb中的[document Object]):第695行

注意事项:

  • 我注意到它似乎只在Office2013上(以前是所有版本),但是 似乎上面的修改固定2016)。
  • 我认为它与文档(或多个文档)有关 处于readMode某州的状态
  • 必须要发生的事情才能锁定'某些属性,因此, 我们无法更新文档中的datasource

非常感谢任何正确方向的帮助或推动。

0 个答案:

没有答案