1

次のコードを使用してオブジェクトにロードReport WW26blueprint_with_chart_330.xlsm したとします (ここでは、ワークブックがロードされていることをテストするために使用されます)。reportprint.range

import xl
report = xl.Workbook("Report WW26blueprint_with_chart_330.xlsm")
print report
print(report.range("A1:E50").get())

pyvotのドキュメントから、次のことがわかりました。

Pyvot は、Excel の COM API の上に書かれています。基になる COM オブジェクトをいつでも取得して、自分で COM 呼び出しを行うことができます。

私のExcelファイルには次のマクロがあります:

Macro1 
Масго2 
Macro7  

上記のマクロを python/pyvot を使用して python スクリプトから直接実行できますか?

4

3 に答える 3

1

でそれを行うことができませんでしたが、次のようpyvotに使用pywin32して行うことができます:

import win32com.client
xl=win32com.client.Dispatch("Excel.Application")
xl.Workbooks.Open(Filename="C:\Users\florinescu_eduard\Downloads\\Report WW26blueprint_with_chart_330.xlsm",ReadOnly=1)
xl.Application.Run("Macro1")
xl.Workbooks(1).Close(SaveChanges=1)
xl.Application.Quit()
xl=0
于 2013-10-29T12:53:25.737 に答える
-1

xl.Application.Quit()デバッグ中に確認することは非常に重要です。あなた以外は混乱するかもしれません。

于 2019-03-26T14:16:03.087 に答える