如何在VBA中将已打开的Excel文件设置为Workbook对象
获取已打开Excel文件的Workbook对象(VBA)
没问题,我来帮你搞定VBA里绑定已打开Excel工作簿的事儿!你可以根据实际场景选择下面几种方法:
方法1:按文件名精准定位
如果你知道已打开文件的完整文件名(带扩展名,比如MonthlyData.xlsx),直接用文件名指定是最靠谱的:
Dim wb As Workbook Dim sh As Worksheet ' 替换成你打开的文件的实际名称,比如"SalesReport.xlsx" Set wb = Workbooks("你的文件名.xlsx") Set sh = wb.Worksheets("FlatFile-FichierPlat")
方法2:绑定当前激活的工作簿
如果目标文件就是你现在正在操作的那个Excel窗口,用ActiveWorkbook更方便:
Dim wb As Workbook Dim sh As Worksheet Set wb = ActiveWorkbook Set sh = wb.Worksheets("FlatFile-FichierPlat")
方法3:绑定代码所在的工作簿
如果你的VBA代码本身就写在目标工作簿里,用ThisWorkbook最稳妥(不会因为切换其他Excel窗口而出错):
Dim wb As Workbook Dim sh As Worksheet Set wb = ThisWorkbook Set sh = wb.Worksheets("FlatFile-FichierPlat")
实用小提示
- 用文件名定位时,文件名必须完全匹配(包括大小写,虽然Windows系统通常不区分,但严格来说保持一致更保险)。
- 怕出现文件未打开的报错?可以加个简单的错误处理:比如先用
On Error Resume Next尝试绑定,再判断wb是否为Nothing,如果是就提示用户打开目标文件。
内容的提问来源于stack exchange,提问作者Programmer
相关产品推荐
相关产品推荐

