我有一个Python程序(如块1所示),用于打开Excel文件并调用宏。
Excel宏(如方框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
答案 0 :(得分:3)
为什么你要做到这一点?
import glob
for fnam in glob.glob("K:\Bloomberg Data\*.xlsx"):
os.startfile(fname)
如果这不起作用你是否检查过你的网络驱动器((我假设是一个网络驱动器)当你查看文件浏览器时没有X)