用于刷新文件夹中所有excel文件的Python脚本

2024-09-28 01:29:11 发布

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

我正在努力使我的一些工作自动化。 我想刷新特定文件夹中的所有excel文件。 下面是我试过的脚本

```
import win32com.client
import glob2
from pathlib import Path

xlapp = win32com.client.DispatchEx("Excel.Application")

directory = 'Y:\\path\\to\directory'

pathlist = Path(directory).glob('*.xlsx')

for path in pathlist:
    wb = xlapp.Workbooks.Open(path)
    wb.RefreshAll()
    xlapp.CalculateUntilAsyncQueriesDone()
    xlapp.DisplayAlerts = False
    wb.Save()
    xlapp.Quit()

The above script refreshes the first excel file and then throws an error.
Error : Object invoked disconnected from its clients.

Tags: 文件pathfromimport脚本文件夹clientexcel
1条回答
网友
1楼 · 发布于 2024-09-28 01:29:11

在循环xlapp.Quit()中关闭客户端

可以解决这个问题

import win32com.client
import glob2
from pathlib import Path

xlapp = win32com.client.DispatchEx("Excel.Application")

directory = 'Y:\\path\\to\directory'

pathlist = Path(directory).glob('*.xlsx')

for path in pathlist:
    wb = xlapp.Workbooks.Open(path)
    wb.RefreshAll()
    xlapp.CalculateUntilAsyncQueriesDone()
    xlapp.DisplayAlerts = False
    wb.Save()

xlapp.Quit()

相关问题 更多 >

    热门问题