首页 > 解决方案 > 在 VBA Excel 中检查文件夹和文件

问题描述

我对 VBA DIR 命令有点困惑...使用 Windows 10 和 Excel 2016 Pro。

我有一个 Excel 文件“WorkBook.xlsm”,存储在文件夹“C:\Users\ABC”中,有一个名为“CONFIG”的工作表,两个文本单元格分别包含:

单元格 G11(文本)---> C:\Users\ABC
单元格 G15(文本)---> WorkBook.xlsm

然后...

当我尝试使用 VBA 代码的按钮时...

Sub XKFile()
   Dim FileName As String
   FileName = Dir("C:\Users\ABC\WorkBook.xlsm")
   If FileName <> "" Then
       MsgBox FileName
   Else
       MsgBox "File Doesn't Exist"
   End If
End Sub

它工作正常,我得到的文件名是 MsgBox。

但是,如果我尝试捕获两个单元格的内容来组成文件夹文件名......

Sub XKFile()
   Dim FileName As String
   FileName = Dir(ThisWorkBook.Sheets("CONFIG").Range("G11").Value & _
                  ThisWorkBook.Sheets("CONFIG").Range("G15").Value))
   If FileName <> "" Then
       MsgBox FileName
   Else
       MsgBox "File Doesn't Exist"
   End If
End Sub

无论尝试多少次,我都会收到“文件不存在”消息。

如果在 DIR 命令之前,我有类似...

MsgBox ThisWorkBook.Sheets("CONFIG").Range("G11").Value & _
ThisWorkBook.Sheets("CONFIG").Range("G15").Value)

我在单元格 C11 和 C15 中都得到了正确的路径+文件名。

C:\Users\ABC\WorkBook.xlsm

我究竟做错了什么?为什么如果路径+文件名写在它工作的代码中,但是当代码从单元格中获取它们时(它们是纯文本!),它不起作用?

任何帮助将不胜感激。提前致谢!

标签: excelfiledirectory

解决方案


推荐阅读