python - 使用Python调用Excel宏打开文件夹中的所有文件

标签 python excel vba

我有一个 Python 程序(如 block 1 所示),用于打开 Excel 文件并调用宏。

Excel 宏(如 block 2 所示)打开特定文件夹中的所有 Excel 文件。

Python 程序打开 Excel 文件并调用宏,我已经使用不同的文件对其进行了测试,但是当我尝试此 Excel 文件时,它会打开,但宏不会运行。

这是 Python

from win32com.client import Dispatch
xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Open("K:\\updatebloomberg.xlsm")
xl.Visible = True
wb.Application.Run("'updatebloomberg.xlsm'!Module1.runfiles()")
wb.Close(True)

这是 VBA

Sub runfiles()

Dim wb As Workbook
Dim myPath As String
Dim myFile As String
Dim myExtension As String
Dim ws As Worksheet
Dim c As Range

  myPath = "K:\Bloomberg Data\"

  myExtension = "*.xlsx"

  myFile = Dir(myPath & myExtension)

  Do While myFile <> ""
      Set wb = Workbooks.Open(Filename:=myPath & myFile)
      myFile = Dir
  Loop

Application.OnTime (Now + TimeValue("00:00:02")), "refreshSheet"

End Sub

最佳答案

你到底为什么要这么做???

import glob

for fnam in glob.glob("K:\Bloomberg Data\*.xlsx"):
    os.startfile(fname)

如果这不起作用,您是否检查过您的网络驱动器((我假设是网络驱动器)在文件资源管理器中查看时上面没有 X)

关于python - 使用Python调用Excel宏打开文件夹中的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39646877/

相关文章:

python - 从网站抓取数据时发生错误时如何阻止 python 脚本退出

sql - 如何在 ms access 中删除两个表中的匹配行?

vba - 尝试使用 FormulaArray 时出现错误 1004。替换技巧不起作用

python - 当我将 displacy.render(doc, style ="dep") 的输出保存到 svg 文件时,出现 TypeError : write() argument must be str, not None

python - 合并列中的行并删除空白行

python - Sqlite 将游标对象转换为实际数字

vba - 使用 instr 获取两个文本的完全匹配

excel - VBscript中关键字的大量参数管理

vba - Do-While 循环 (VBA) 不循环

excel - End(xlUp) 仅在工作表处于事件状态时有效