3

この質問には簡単な答えがあると思いますが、どこにも見つかりません! Excelで大量のデータをプロットする関数を作成しており、Pythonでプロットを制御しています。すべてのグラフを生成しました。各グラフは独自のシートですが、順不同です。このための VBA コードは次のとおりです。

Sheets("Chart1").Move After:=Sheets(3)

これにより、「Chart1」が取得され、3 番目のシートの後に移動されます。Pythonでこれを行うにはどうすればよいですか? コードが次の行に沿ったものであることを私は知っています:

xlChart.Move(Before,After)

Python に Before パラメータと After パラメータを伝えるにはどうすればよいですか? 大きなことは、win32com プログラミングでパラメーターを渡す方法を理解していないことだと思います。

助けてくれてありがとう!

4

1 に答える 1

4

非常に簡単な例を次に示します。

from win32com import client

excel=client.Dispatch("Excel.Application")
excel.Visible=True
book=excel.Workbooks.Open("c:/desktop/test.xlsx", False, True)
sheet=book.Worksheets(1)
chart=book.Charts.Add()
chart.SetSourceData(sheet.Range("$A:$B"))

chart.Move(Before=book.Worksheets("Sheet2"))
chart.Move(book.Worksheets("Sheet2"))#equivalent to previous line
chart.Move(book.Worksheets("Sheet2"), None)#also equivalent

chart.Move(After=book.Worksheets("Sheet2"))
chart.Move(None,book.Worksheets("Sheet2"))#equivalent to previous line

Excel COM プログラミングの重要な問題であるオプションのパラメーターを処理するためのさまざまなオプションを示そうとしました。位置パラメータの受け渡しを使用して、末尾からパラメータを省略できます。Noneまたは、同等のものを渡すことができます。最後に、名前付きパラメーターを使用できます。

于 2011-03-14T22:55:21.823 に答える