【发布时间】:2019-05-02 18:53:45
【问题描述】:
我在为这个问题寻找答案时遇到了问题。我目前正在使用 win32com,虽然它非常强大,但我不知道如何访问已经打开的 Excel 文件。
别无选择;外部脚本打开 Excel 并将数据写入其中,它不在硬盘上
【问题讨论】:
我在为这个问题寻找答案时遇到了问题。我目前正在使用 win32com,虽然它非常强大,但我不知道如何访问已经打开的 Excel 文件。
别无选择;外部脚本打开 Excel 并将数据写入其中,它不在硬盘上
【问题讨论】:
您可以通过循环访问 Excel.Application.Workbooks 来访问所有打开的工作簿:
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
print("Active WB:", excel.ActiveWorkbook.Name)
for wb in excel.Workbooks:
print("WB:",wb.Name)
wb.Save()
【讨论】:
我没有足够的声望来支持 Maxime Biette 的回答,但它是正确的。
如果您只想保存一张特定的工作表:
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
print("Active WB:", excel.ActiveWorkbook.Name)
for wb in excel.Workbooks:
if wb.Name == 'thenameofyourfile.xlsx' :
print("WB:",wb.Name)
wb.Save()
【讨论】: