0

我做了一些 Word 自动填充一些用作模板的 Word 文档中的空白。

一个模板的使用频率高于其他模板,这会导致错误,因为它被锁定并且 Word 无法打开它,但我希望以只读方式打开它。

打开文档

do until lole_word.Documents.Count = 0
    lole_word.Documents[1].Close(lole_word.SaveOptions.wdDoNotSaveChanges)
loop

boolean lb_readOnly
lb_readonly = true
lole_word.Documents.Open(as_fileIn, lb_readOnly)

问题是模板文档打开一次,没有任何缺陷。但是当必须重复使用相同的模板时,虽然lole_word.Documents.Count总是返回0,但当 Word 打开之前使用的模板时,它被锁定,最后 Word 出现询问我是否要以只读模式打开它。

**Word - 文件已经在用户对话框中**

我希望避免这种烦恼,只需以只读模式打开文件,因为一旦填写,它将保存在其他地方。

我的问题是,即使我通过将第二个参数设置为以只读模式打开true,Word 似乎并没有以这种方式看到它并且仍然弹出他的File Already in Use by Another User对话框,然后我的应用程序失去了对 Word 的控制并且它崩溃了。

4

1 回答 1

1

我们有一个类似的问题,我希望我能记住我们是如何解决它的。我们可能使用了 Quit 命令。我知道我们还在独占模式下尝试了 FileOpen(无意使用该文件)并立即关闭它。如果我们得到一个文件锁定的返回码,我们会提示用户首先关闭 excel,因为有时他们会在 OLE 之外打开程序。我知道这不是你要找的东西,但希望它能带你到某个地方。我记得这是一个间歇性问题,在某些情况下用户必须打开任务管理器并终止无关的 excel 进程。

我隐约记得锁定是由文件系统而不是 Word 引起的,因为我们也是以只读方式打开的。

于 2014-08-07T01:36:06.780 回答