属性错误:“NoneType”对象没有属性“ActiveSheet”,即使 Excel 工作簿正在运行

问题描述 投票:0回答:1
import win32com.client

#Attach to the running excel
excel = win32com.client.GetActiveObject("Excel.Application")
workbook = excel.ActiveWorkbook
worksheet = workbook.ActiveSheet
active_cell = excel.ActiveCell

#Copy the active cell
active_cell.Copy()

我正在编写一个Python脚本来从打开的Excel工作簿中复制活动单元格并在线自动搜索它。我已打开工作簿,但仍然收到 AttributeError: 'NoneType' 对象没有属性 'ActiveSheet'。欢迎任何建议。预先感谢。

python excel automation attributeerror win32com
1个回答
0
投票

GetActiveObject 用于连接到任何已运行的 Excel 实例

如果您想创建工作簿,那么

excel = win32com.client.gencache.EnsureDispatch('Excel.Application')
# excel.Visible = True  # Workbook visible or not
workbook = excel.Workbooks.Add()
# worksheet = wb.Worksheets('Sheet1')  # Specify Sheet by name default is 'Sheet1'
worksheet = workbook.ActiveSheet
active_cell = excel.ActiveCell

#Copy the active cell
active_cell.Copy()

以下关于使用 Dispatch 和 encache.EnsureDispatch 的帖子可能会有用

© www.soinside.com 2019 - 2024. All rights reserved.