Excel - 使用完整路径名关闭/保存

Eli*_*xir 3 excel vba excel-vba excel-2010

在关闭和保存工作簿时,是否有一种方法可以插入完整路径名而不是文件名

如下

Workbooks("BOOK1.XLS").Close SaveChanges:=true
Workbooks("C:\user\docs\BOOK1.XLS").Close SaveChanges:=true
Run Code Online (Sandbox Code Playgroud)

我问的原因是我已经用字符串命名了所有完整的路径名

Workbooks(i).Close SaveChanges:=true
Run Code Online (Sandbox Code Playgroud)

所以对于阵列中的每个i等

pau*_*ica 10

可以像在第一个语句中一样使用Workbook对象

Workbooks("BOOK1.XLS").Close
Run Code Online (Sandbox Code Playgroud)

因为它使用.Name属性(没有完整路径)

Workbooks.Open另一方面,该方法将完整路径和文件名作为参数:

Workbooks.Open "C:\user\docs\BOOK1.XLS"
Run Code Online (Sandbox Code Playgroud)

它也可以使用没有路径的文件名,但它会在默认文件夹中搜索它

.

我用2个选项来解决类似的问题,其中所有字符串都包含完整路径和文件名:

  1. 在打开工作簿时设置对工作簿的引用:

    Set wb = Workbooks.Open("C:\user\docs\BOOK1.XLS")

    • 然后你就可以这样关闭它

      wb.Close SaveChanges:=True

  2. 从包含路径和文件名的字符串中提取文件名:

    wbName = Mid(fullName, InStrRev(fullName, "\") + 1)

    • 然后你可以像在第一行中那样关闭它:

      Workbooks(wbName).Close SaveChanges:=true