Word Interop 如何让文档以 Editing 模式打开?
数据阿明
结论
oWApp.Documents.Open(FileName:=sFile) 没有用于指定 Word“Editing”访问模式的参数。传入 ReadOnly:=False 表示希望以可写方式打开文档,但这不会授予编辑权限,也不会把“Reviewing”模式切换为“Editing”。
题目中的代码如下:
oWDoc = oWApp.Documents.Open(FileName:=sFile)
Word 的“Reviewing”模式允许用户添加批注和建议修订;“Editing”模式则要求用户拥有编辑权限。这两种模式由文档访问权限决定,不能通过 Document 对象的读写标志互相切换。Word 文档模式说明
可以怎么处理
如果希望 Interop 打开文档时不主动请求只读,可以显式传入 ReadOnly:=False:
Dim oWDoc As Word.Document
oWDoc = oWApp.Documents.Open(
FileName:=sFile,
ReadOnly:=False
)
这不能保证 Word 进入“Editing”模式。Documents.Open 的 ReadOnly 参数只控制是否以只读方式打开,无法覆盖文档的只读设置或访问限制。Documents.Open 参数说明
要切换访问模式,请在 Word 文档窗口右上方的模式菜单中选择“Editing”。如果该选项不可用,请检查当前账号是否有编辑权限,以及文档或组织是否设置了编辑限制。获得权限后,可以在 Word 界面中切换模式;没有编辑权限时,自动化代码无法代替授权。Microsoft 的编辑模式说明
注意事项
oWDoc.ReadOnly 可以检查文档是否以只读方式打开,但不能确认或设置“Reviewing”与“Editing”访问模式。因此,即使检查结果显示文档不是只读,也不能据此判断它处于“Editing”模式。
备注:内容仅供参考。
