動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.30.9 + 64bit Excel(バージョン2307 ビルド16610.20000 クイック実行)
何らかのプログラミング的方法でExcel作業を自動化すると、Excelのプロセスが残るという問題が発生することがあります。
この残ってしまったExcelのプロセスを強制終了くれるメソッドが、最近のxlwingsでは実装されています。
[スポンサードリンク]
Apps.cleanup()で残ったプロセスを強制終了できる
Appsコレクションのcleanup()メソッドを使うと、残ったプロセスを強制終了できるのです。
拙著『VBAユーザーのためのPython超入門』で多用しているIDLEのShellウィンドウで確認するなら、以下のとおりです。
>>> import xlwings as xw
>>> xw.apps.cleanup()
>>> xw.apps.cleanup()
xlwingsのapps属性でAppsコレクションを取得して、Apps.cleanup()メソッドを実行しています。
v0.30.5 (Apr 25, 2023)以降がおすすめ
Apps.cleanup()が実装されたのは、v0.30.2 (Mar 16, 2023)からですが、私の環境では、例外「UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcf in position 4: invalid continuation byte」が発生してしまいました。
v0.30.5 (Apr 25, 2023)以降なら、この例外も発生せず、残ってしまったプロセスを強制終了できます。
最終更新日時:2023-06-21 01:33
[スポンサードリンク]
Home » Python » xlwingsの使い方 » v0.30.5以降のxlwingxならApps.cleanup()でExcelのプロセスを強制終了できる