Pythonは、その強力なライブラリと柔軟性により、Excelのマクロを扱うための優れたツールです。特に、OpenPyXLとxlwingsは、PythonからExcelのマクロを操作するための主要なライブラリです。
OpenPyXLでExcelのマクロを扱う
OpenPyXLは、PythonでExcelファイルを操作するためのライブラリです。VBAを含むExcelファイルを扱う場合、load_workbook
メソッドのkeep_vba
パラメータをTrue
に設定することで、VBAのマクロを保持したままExcelファイルを操作することができます。
import openpyxl
def main():
wb = openpyxl.load_workbook("./source.xlsm", keep_vba=True)
sheet = wb["Sheet1"]
sheet.cell(row=1, column=1, value=10)
sheet.cell(row=1, column=2, value=20)
sheet.cell(row=1, column=3, value=99)
wb.save("./target.xlsm")
if __name__ == '__main__':
main()
上記のコードは、VBAを含むExcelファイル(source.xlsm
)を開き、特定のセルに値を書き込み、その結果を新しいファイル(target.xlsm
)として保存します。
xlwingsでExcelのマクロを扱う
xlwingsは、PythonからExcelのマクロを実行することが可能なライブラリです。xlwingsを使用すると、PythonからExcel VBAを実行することができます。
PythonとVBAをスイッチして使うことで、PythonとVBAの強みを活かすことができます。たとえば、Pythonでウェブスクレイピングで得たデータをExcelに書き出し、そのデータをVBAで計算することが可能になります。
以上がPythonを使用してExcelのマクロを扱う基本的な方法です。これらのライブラリを活用することで、PythonからExcelのマクロを効率的に操作することが可能になります。