Excel – 使用完整path名称closures/保存

是否有closures和保存工作簿时插入完整path名而不是文件名的方法

例如下面

Workbooks("BOOK1.XLS").Close SaveChanges:=true Workbooks("C:\user\docs\BOOK1.XLS").Close SaveChanges:=true 

我要问的原因是我已经用string命名了所有的完整path名

 Workbooks(i).Close SaveChanges:=true 

所以对于每个我在arrays等

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

 Workbooks("BOOK1.XLS").Close 

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

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

 Workbooks.Open "C:\user\docs\BOOK1.XLS" 

它可以不带path的文件名,但它会在默认文件夹中search它

有两个选项我用来解决类似的问题,所有的string包括完整的path和文件名:

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

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

    • 那么你可以像这样closures它

      wb.Close SaveChanges:=True

  2. 从包含path和文件名的string中提取文件名:

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

    • 那么你可以像第一行那样closures它:

      Workbooks(wbName).Close SaveChanges:=true