在尝试动态填充空白时,Word会打开吗?

时间:2014-08-05 20:41:55

标签: ms-word word-vba word-automation

我目前正在使用Word文档作为模板,其中空格必须在PwoerBuilder中动态/编程填充。

在公司推出Windows 7之前,这一直很好。

简而言之,Word应用程序已打开并变为不可见。

Word.Application.Visible = false

除了有时候,我不知道为什么,一旦访问模板,Word就会打开自己就像我通过资源管理器自己双击模板一样 - 但我没有。

因此,它询问我是否要以只读模式打开它,因为应用程序已经在文件上有句柄。即使我单击[取消]不打开文件,Word打开时没有文档,然后应用程序崩溃。

报告PowerBuilder系统错误35。

  

错误编号35。   错误文本=在对象of_fusion的函数n_cst_9999中第24行打开外部对象函数时出错。

应用程序试图调用函数的外部对象是Word。

oleobject lole_word
lole_word = create oleobject
lole_word = ConnectToNewObject("Word.Application")
lole_word.Documents.Open("templatefile.docx")

它可能适用于一些文档,并在一些文档之后出现问题。这是我第一次遇到这个问题。

我很乐意回答任何人试图提供帮助的问题。

1 个答案:

答案 0 :(得分:2)

请问,您可以尝试在Word应用程序对象上设置DisplayAlerts和FeatureInstall属性。 这隐藏了大部分单词警报。 (代码来自C#项目,可能不是您需要的)

Word.Application.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;
Word.Application.FeatureInstall = 0;

您也可以在打开文件之前尝试复制该文件,以避免从不同的线程访问相同的.docx - 如果可能的话。