关闭文件时,Documents.Open出现“锁定以供编辑”错误

时间:2018-08-29 12:38:07

标签: vba excel-vba word-vba

在Excel中使用Documents.Open(“ XX”)命令时。我的excel提示窗口显示ME已锁定文档进行编辑。事实并非如此。

当我在使用Microsoft Word / Excel 2010时,此命令似乎确实起作用。但是在家中,使用Office 2016却没有。这也适用于我的带有Office 2016的个人笔记本电脑。

使用以下代码:

Sub test()

Dim wordDoc As Word.Application
Dim testDoc As Word.Application

Set wordDoc = CreateObject("Word.Application")
Set testDoc = wordDoc.Documents.Open("C:\Users\Me\Desktop\Test.docm")

' Do stuff

End Sub

我的想法:

Office 2016似乎打开了一个“阴影文件”,该状态为文档“打开”状态。但是,当重启我的电脑时,代码根本无法正常工作。给出“文件名”错误,重新启动代码后,将显示“锁定进行编辑”错误。

我的问题:

我在Office 2016中打开文档时使用的方法是否错误?如果是这样,正确的方法是什么?如果不是,是否需要更改设置才能使其正常工作?

预先感谢

1 个答案:

答案 0 :(得分:2)

我以前曾经发生过这种情况,对我来说,问题是先前运行的宏无法正确关闭文件。对此线程进行读取: VBA Application.Quit command not closing the entire Excel Application

您可以通过“结束任务”设置所有MS Word实例并再次运行宏来测试是否是这种情况。如果它能够第一次运行,那么这就是您的问题。

此外,这是我用于测试的代码。将变量变暗为“ Word.Application”对我而言不起作用,因此,如果我之前的建议不起作用,请尝试仅使用“ Object”:

Sub openWord()

    Dim wrd As Object
    Dim doc As Object

    Set wrd = CreateObject("Word.Application")
    wrd.Visible = True
    Set doc = wrd.Documents.Open("C:\Users\mitchellb\Desktop\doc.docx")

    doc.Close
    wrd.Quit
End Sub