Pythonの外部ライブラリxlwingsを使えば、Excelのワークシートを別のブックにコピー(複製)できることをご紹介しています。
xlwingsが内部で使用しているライブラリpywin32を使っても、別のブックにシートをコピーできます。
pywin32・win32com.clientで別のブックにシートをコピー(複製)するサンプル
Cドライブtempフォルダーに、samp_a.xlsxブックとsamp_z.xlsxブックを用意しておいてから、以下のスクリプトを実行してください。
xl = win32.Dispatch('Excel.Application')
xl.Visible = True
bk_a = xl.Workbooks.Open(r'c:\temp\samp_a.xlsx')
bk_z = xl.Workbooks.Open(r'c:\temp\samp_z.xlsx')
samp_aブックの1枚目のシートが、samp_zブックの1枚目のシートの前に複製されます。
VBAのコードとほとんど同じ
COMアプリケーションであるExcelを、ライブラリpywin32を経由してPythonで操作するか、VBAで操作するかだけの違いで、先ほどのwin32com.clientを使ったコードは、以下のVBAのコードと実質的に同じです。
sub sample()
Dim xl
Set xl = CreateObject("Excel.Application")
xl.Visible = TrueDim bk_a, bk_z
bk_a.Sheets(1).Copy Before:=bk_z.Sheets(1)
Set bk_a = xl.Workbooks.Open("c:\temp\samp_a.xlsx")
Set bk_z = xl.Workbooks.Open("c:\temp\samp_z.xlsx")
End Sub
- Newer:Kindleのゴールデンウイークセールで『VBAユーザーのためのPython超入門』が5/12(金)まで特価371円に
- Older:Windows11で手書きパッド・IMEパッドを表示するには?
Home » Python » pywin32・win32comの使い方 » pywin32・win32com.clientでも別のブックにシートをコピー(複製)できる