我正在尝试将重命名函数包含到打开 Word 文件并查找跟踪更改的循环中 - 如果有跟踪更改,我想重命名文件以获取 _tracked_changes_ 前缀。
但是,我遇到了一个问题 - 我收到一个权限被拒绝错误,我假设是因为当我尝试重命名文件时文件已打开。但是,当我包含 objFile.close 函数时,“调用的对象已与其客户端断开连接”。我不知道如何保持 objFile 变量对我正在处理的文件的引用并绕过“权限被拒绝”问题。
代码是:
Set fso = CreateObject("Scripting.FileSystemObject")
Set app = CreateObject("Word.Application")
app.Visible = false
app.DisplayAlerts = true
For Each objFile In fso.GetFolder(".").Files
If Lcase(fso.GetExtensionName(objFile)) = "docx" Then
<<<subprocedure that checks for tracked changes>>>
set objFile = app.Documents.Open(objFile.Path)
objFile.Name = "_tracked_changes_" & objfile.name
'Call check_tc
End If
下一个
如果我没有 set objFile = app.Documents.Open(objFile.Path) 元素,这自然可以正常工作,但是我必须打开文件以查看它是否已跟踪更改。