既存のスプレッドシートを使用したいマクロがあります。唯一の問題は、非常に多くのスプレッドシートがあり、手作業でそれを行うには時間がかかりすぎるということです!Pythonを使用してマクロをスプレッドシートに挿入する
私はpyWin32を使用して必要なファイルにアクセスするためのPythonスクリプトを書きましたが、私はマクロを追加するためにそれを使用する方法を見つけ出すように見えることはできません。
ここに同様の質問はこの答えを与えました(これは、Pythonではないのですが、それはまだCOMを使用するように見えます)が、私のCOMオブジェクトは、VBProjectメンバーと呼ばれているように見えるしません:Inject and execute Excel VBA code into spreadsheet received from external source
:同様の質問参照へのリンク:Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False
Set objWorkbook = objExcel.Workbooks.Open("C:\scripts\test.xls")
Set xlmodule = objworkbook.VBProject.VBComponents.Add(1)
strCode = _
"sub test()" & vbCr & _
" msgbox ""Inside the macro"" " & vbCr & _
"end sub"
xlmodule.CodeModule.AddFromString strCode
objWorkbook.SaveAs "c:\scripts\test.xls"
objExcel.Quit
EDITを
私はまた、 Pythonではないので、同様のオブジェクトメンバーがCOMオブジェクトを通じて私に利用可能になることを期待していました。
"ここにも同様の質問がありましたが、「このリンクはここにはありませんか? –
まず、あなたのサンプルコードはPythonでさえありません。私はそれがVisual Basicだと確信しています。 –
私は私の質問を修正しました! –