Pythonを使用してExcelのマクロを実行する方法


  1. win32comモジュールを使用する方法:

    import win32com.client
    excel = win32com.client.Dispatch("Excel.Application")
    excel.Visible = True
    workbook = excel.Workbooks.Open("path_to_excel_file.xlsm")
    excel.Run("Macro_Name")
    workbook.Save()
    excel.Quit()
  2. xlwingsモジュールを使用する方法:

    import xlwings as xw
    app = xw.App(visible=True)
    workbook = xw.Book("path_to_excel_file.xlsm")
    macro = workbook.macro("Macro_Name")
    macro()
    workbook.save()
    app.quit()
  3. subprocessモジュールを使用してVBAランタイムを介してマクロを実行する方法:

    import subprocess
    macro_path = r"path_to_excel_file.xlsm!Macro_Name"
    subprocess.call(['C:\Program Files\Microsoft Office\Office14\EXCEL.EXE', '/e', macro_path])

これらの方法を使ってPythonからExcelのマクロを実行することができます。適切なパスを指定し、実行したいマクロの名前を指定してください。また、xlsm形式のExcelファイルを使用することを忘れずに。

なお、上記のコード例ではExcelアプリケーションを表示させたり、保存や終了を行っていますが、必要に応じて適宜修正してください。

以上がPythonを使用してExcelのマクロを実行する方法になります。