我正在使用宏以递归方式遍历数千个xls文件并将其转换为xlsx。一切进展顺利,在打开这些工作簿时,我使用了UpdateLinks:=False
的{{1}}选项来隐藏警报。但是,无论何时打开带有需要更新的链接的工作簿时,我都希望将文件名输出到某种文本文件,甚至只是一个工作表。收集这些名称的实际过程对我来说不是问题,但是我无法找出一种既可以抑制警告,又可以 触发该文件名输出的方法。
例如,我的想法是我可以这样:
Workbooks.Open
但是,如果我抑制警告并且不触发任何错误,我不确定如何捕获该 Set wkbConvert = Workbooks.Open(fFile.Path, UpdateLinks:=False)
If linksNeedToBeUpdated Then
'concatenate fFile.name somewhere
End If
值。我曾考虑过使用linksNeedToBeUpdated
并放弃On Error Go To
选项,但这会在所有所有错误(例如文件损坏或权限问题)下发生,我不希望这样。
下面是我的完整代码。
UpdateLinks:=False
同样,一旦我弄清楚了如何检测到正在打开的文件的“链接”状态,同时仍然抑制了警告,我就可以从那里收集文件名。除非有人提出他们建议的完全不同的策略,否则我应该自己弄清楚其余的。谢谢。