重新初始化“ThisWorkbook.Path”

首先,感谢那些给我提出使用“ThisWorkbook.Path”的人的build议。 它像一个魅力工作。

但是,我的代码遍历七(7)个工作簿,当使用“ThisWorkbook.Path”时,我无法重新初始化“This.Workbook”。 让我详细说一下。

这是macros驻留的工作簿:

Workbooks("Financial_Aggregator_v3.xls").Activate 

这是代码添加选项卡并执行小计的第一个工作簿。 基本上,ThisWorkbook.Path在这里工作:

 Workbooks("Chapter_7-10_Mechanical.xls").Activate 

做完“机械”我需要做的事情之后,我有下面的代码片段,它从来没有变成真实的:

 Workbooks("Financial_Aggregator_v3.xls").Activate If FileThere(ThisWorkbook.Path & Application.PathSeparator & "Chapter_7-90_ECS_1_LLC.xls") Then 

适用于“机械”工作表的function代码是:

 Function FileThere(FileName As String) As Boolean FileThere = (Dir(FileName) > "") End Function 

仅供参考,我试图将所有不同的工作簿分解成不同的Sub(),但是这不起作用。 我也三重检查了工作簿的名称。

提前致谢。

Excel.VBA中的“ThisWorkbook”有点像“我”,因为它只适用于实际上包含正在执行“ThisWorkbook”的VBA代码的工作簿(.XLS)。 您需要做的是使用工作簿对象来抽象您要testing或操作的特定工作簿。

尝试这样的事情:

 Public Sub TestWB() Dim CurrWB As Workbook 'To get a workbook into our object variable:' Set CurrWB = Workbooks("Chapter_7-10_Mechanical.xls") 'To Change the .Path:' CurrWB.SaveAs NewFileName, AddToMru:=True End Sub