通过Python运行Excel宏?(节省新问题)

2024-10-04 07:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在其他链接中看到了这个问题,但我是新来的,我没有在这里发表评论的声誉

我让脚本工作并且宏运行,但是当保存文件而不是仅仅保存时,它会打开一个excel弹出窗口,询问我是否确认更改。如何在不打开此弹出窗口的情况下直接保存

我的代码(已编辑):

import os.path
import win32com.client as wincl


if os.path.exists("C:\\Users\\peo_cpena\\Downloads\\excel.xlsx"):
    try:
        xl = wincl.Dispatch("Excel.Application")
        xl.Workbooks.Open(os.path.abspath(
            "C:\\Users\\peo_cpena\\Downloads\\excel.xlsx"))
        xl.Application.Run("macro2.xlsm!Macro2")
        xl.Application.Workbooks("excel.xlsx").Save()
        xl.Application.DisplayAlerts = False
        xl.Application.Workbooks("excel.xlsx").Quit(False)
        del xl
    except:
        xl.Application.Quit()
        print("It didn't work")
        del xl

删除“尝试”时,我收到以下错误:

Traceback (most recent call last):
  File "C:/Users/peo_cpena/PycharmProjects/Cursoemvideo/UOL/CalculoImpARG.py", line 14, in <module>
    xl.Application.Workbooks("C:\\Users\\peo_cpena\\Downloads\\Vendas_por_Repasse_Aeria_Games_Europe_GmbH_01102020-31102020.xlsx").Save()
  File "C:\Users\peo_cpena\PycharmProjects\Cursoemvideo\venv\lib\site-packages\win32com\client\dynamic.py", line 197, in __call__
    return self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352567, 'Exceção.', (0, None, None, None, 0, -2147352565), None)

Tags: pathimportselfnoneapplicationosdownloadsxlsx
1条回答
网友
1楼 · 发布于 2024-10-04 07:33:51

请在关闭工作簿之前尝试显式保存它:

xl.Application.Workbooks("excel.xlsx").Save()
xl.Application.Workbooks("excel.xlsx").Close(False)

相关问题 更多 >