excel - 打开 Excel 时 ActiveSheet 和 ActiveWorkbook 为空
问题描述
我正在尝试打开 Excel 并在不同时间使用多张工作表中的信息来自动化 Word 文档。
通过调试从局部变量的状态来看,Excel似乎启动成功,Workbook对象也分配成功。但是,当“DB Schedules”工作表被激活时,ActiveSheet 变量保持为空并且无法使用属性“Name”,而是抛出“Object Required”错误并跳转到 finally 块。
工作簿的路径和工作表的名称都是正确的,但即使在激活任意工作表之前,ActiveSheet 变量也是空的。众所周知,该工作表包含信息,为了确定,我尝试了多个文件。
Sub CompileReport()
Dim XLInstance As Object
Dim XLWorkbook As Object
Dim XLPath As String
XLPath = "C:\Users\SaracchiG\OneDrive - AECOM\Documents\M11 Jn7A\GC300 Certificates\" & _
"Construction Compliance\Certificates Data Project_Name.xlsx"
On Error Resume Next
Set XLInstance = GetObject(, "Excel.Application")
XLInstance.Quit
If Err Then
Set XLInstance = CreateObject("Excel.Application")
End If
On Error GoTo Finally
Set XLWorkbook = XLInstance.Workbooks.Open(XLPath, ReadOnly:=True)
'Testing it all works (doesn't!)
XLWorkbook.Worksheets("DB Schedules").Activate
MsgBox ActiveSheet.Name
MsgBox ActiveWorkbook.Name
'Do some stuff with different sheets
Finally:
XLWorkbook.Close
XLInstance.Quit
End Sub
解决方案
您无需激活工作表即可使用它
'Do some stuff with different sheets
With XLWorkbook.Worksheets("DB Schedules")
MsgBox .Name
MsgBox .Parent.Name
End With
推荐阅读
- javascript - 如何使用选择器在 DOM 下使用 Jquery 获取值
- java - 如何从java流中只返回一个字符串
- r - R中使用Plotly和Shiny的交互式散点图
- json - SQL Server - 使用 FOR JSON 的索引视图
- python - 在 Django 中用字段值的对数注释查询集
- rest - Kubernetes:什么是试运行请求?
- python - Python - 使用正则表达式从文本中提取代码
- amazon-web-services - 将 Amazon Lex 与语音助手集成
- python-3.x - 在numpy数组中获取nan值的索引
- excel - Excel 自定义功能区切换按钮依赖项