replace。打开.Add

将热键macros从Ctrl + L更改为Ctrl + Shift + L ,并将“ 打开 ”更改为“ 添加 ”,因为“ 打开 ”会导致在新工作簿打开后macros停止。 被告知“ 添加 ”不会这样做。 然而,由于所需的filespec包含在一个单元格中,显然“ 添加 ”不像“ Open ”所接受的那样。

例子

Workbooks.Open Filename:=(sheets(1).Range("w6").TEXT) - - Works Workbooks.Add filename:=(sheets(1).Range("w6").TEXT) - - Doesn't work 

VB说“ 找不到命名的参数 ”。

在Walkenbach的书中找不到关于上下文或帮助的内容。

需要适当的上下文/参数“ 添加 ”。

尝试这个

 Sub Sample() Dim thisWb As Workbook, newWb As Workbook Set thisWb = ThisWorkbook Set newWb = Workbooks.Add(thisWb.Sheets(1).Range("W6").Value) End Sub 

要了解它是如何工作的,请参阅Excel帮助:)。 你可以按魔术键F1来做到这一点

在这里输入图像说明