Excel 在不同工作簿之间切换而不使用。激活

Excel 在不同工作簿之间切换而不使用。激活,excel,vba,Excel,Vba,我想在我的代码中引用不同的工作簿,我使用了以下代码: Dim Basicwb As Excel.Workbook Dim Basic As Excel.Application Set Basic = New Excel.Application Set Basicwb = Basic.Workbooks.Open("X:\Job\Masroori\3-042-PMS.xlsx") 但问题是,如果我不想每次都打开它,我怎么能引用它呢。我使用了此代码(不带.Open),但我收到了此错误!:“下标超

我想在我的代码中引用不同的工作簿,我使用了以下代码:

Dim Basicwb As Excel.Workbook
Dim Basic As Excel.Application

Set Basic = New Excel.Application
Set Basicwb = Basic.Workbooks.Open("X:\Job\Masroori\3-042-PMS.xlsx")
但问题是,如果我不想每次都打开它,我怎么能引用它呢。我使用了此代码(不带.Open),但我收到了此错误!:“下标超出范围”


另外,我不想每次都激活工作簿,有什么办法吗?

取自
msdn
网站的
工作簿属性:

“返回表示所有打开工作簿的
工作簿
集合。只读。”

因此,代码的最后一行给出了一个错误,因为文件未打开。请注意,如果工作簿未打开,则不能引用工作簿中的对象。您可以访问工作簿中的任何内容,而无需激活它(因此无需使用
.Activate
),但它必须是打开的。也许这个问题对你有帮助:

如果工作簿已打开,则可以执行以下操作:

Dim wBook as Excel.Workbook, rngTemp as range
Set wBook = workbooks("wbName.xls")
With wBook
    ' Do stuff, no need to activate. Example:
    set rngTemp=.sheets(1).usedRange
End With
我希望这有帮助

Dim wBook as Excel.Workbook, rngTemp as range
Set wBook = workbooks("wbName.xls")
With wBook
    ' Do stuff, no need to activate. Example:
    set rngTemp=.sheets(1).usedRange
End With