根据蒂姆·威廉姆斯的建议,我阅读了rondebruin.nl/win/s9/win001.htm的最后一部分,并编写了python代码
import os
import win32com.client
Datev = """16.06 """
xl=win32com.client.Dispatch("Excel.Application")
xl.Workbooks.Open(Filename="C:\Users\Name\Documents\PERSONAL.XLSB", ReadOnly=1)
xl.Application.Run("PERSONAL.XLSB!Module1.xlstoxlsmFinal", Datev)
xl.Application.Quit() # Comment this out if your excel script closes
del xl
实质性差异正在改变这条线:
xl.Application.Run("PERSONAL.XLSB!Module1.xlstoxlsmFinal(" + Datev + ")")
至:
xl.Application.Run("PERSONAL.XLSB!Module1.xlstoxlsmFinal", Datev)
现在,代码可以完美运行了!