首页 > 解决方案 > 指定当前工作簿的路径和地址有什么好处吗

问题描述

我正在编辑一些旧代码,遇到了令我困惑的一行。有问题的代码将一些数据从一个工作簿复制到另一个工作簿,并从定义代码将处理的两个工作簿对象开始。这两行看起来像这样:

Set wbFra = Workbooks.Open(ThisWorkbook.Path & "\" & ThisWorkbook.Name)
Set wbTil = Workbooks.Open("https://nhy.sharepoint.com/teams/Team-xxxxxx/xxxx/xxx/Someworkbook.xlsx", IgnoreReadOnlyRecommended:=True)

现在让我困惑的是第一行。输入工作簿的整个路径而不是仅使用 有什么好处Set wbFrom = ThisWorkbook吗?为什么原作者甚至试图打开代码所在的工作簿?这有什么好处吗?

标签: excelvba

解决方案


其实这条线

Set wbFra = Workbooks.Open(ThisWorkbook.Path & "\" & ThisWorkbook.Name)

没有多大意义,因为它将打开此代码所在的工作簿,因此该工作簿已经打开。

Set wbFra = ThisWorkbook

会产生相同的结果(并且是推荐的方法)。


这里有点跑题了,但是……</p>

…而不是将反斜杠硬编码"\"为路径分隔符,我建议使用它,Application.PathSeparator因此它也适用于 MacOS。


推荐阅读