VBA: 检查文件是否存在

VBA: Check if files exist

我正在创建一个 PowerPoint 演示文稿,它从不同的 Excel 和 PowerPoint 文件中获取数据和幻灯片。基本代码有效,现在我必须清理它并处理 "what if the file doesn't exist?"

之类的问题

在这方面我需要一些建议。我希望发生两件事:我希望用户知道丢失的文件,而且代码继续执行(一个丢失的文件不应该破坏整个宏)。我如何以 clean/readable 方式执行此操作?

我的想法是在实际代码之前检查文件是否存在,例如

If Dir("File Path") = "" Then
   MsgBox "File doesn't exist"

但是,在这种情况下,我还需要宏来跳过代码中缺少文件的部分。在最初的检查中,我可以创建一个像 File1Exists = True 这样的变量,如果文件不存在,它会切换到 False。然后对于 code/each sub 的每个部分,我可以做一个 If 语句来检查这个条件是否为真。

这应该可行,但这真的是最好的解决方案吗?看起来像一堆代码来解决这样一个简单的问题。有人有更好的主意吗?

类似于:

Dim file_exists as Boolean
file_exists = (Dir("File Path") <> "")

If file_exists Then
  ....
Else
  ....
End If