首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文档关闭时,Documents.Open显示'Locked for editing‘错误

文档关闭时,Documents.Open显示'Locked for editing‘错误
EN

Stack Overflow用户
提问于 2018-08-29 20:38:07
回答 1查看 2.5K关注 0票数 0

在excel中使用Documents.Open("XX")命令时。我的excel会在窗口中提示文档已锁定以供编辑,由ME执行。但事实并非如此。

当我在工作中使用microsoft word/excel 2010时,这个命令似乎确实有效。但在家里,用的是office 2016,这也适用于我的office 2016个人笔记本电脑。

使用以下代码:

代码语言:javascript
运行
复制
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似乎打开了一个“影子文件”,该文件使文档处于“打开”状态。但是,当重启我的电脑时,代码根本不能工作。给出一个'Filename‘错误,在重新启动代码时出现'Locked for editing’错误。

我的问题是:

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

提前谢谢你,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-29 21:18:01

我以前也遇到过这种情况,对我来说问题是宏的前一次运行不能正确地关闭文件。读取此线程:VBA Application.Quit command not closing the entire Excel Application

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

另外,这是我用来测试的代码。将变量调暗为"Word.Application“对我不起作用,所以如果我之前的建议不起作用,那么尝试只使用"Object”:

代码语言:javascript
运行
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52077668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档