動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.30.9 + 64bit Excel(バージョン2307 ビルド16626.20000 クイック実行)
Excel VBAでシート全体を(行も列も)AutoFitするには、「Columns.AutoFit」「Rows.AutoFit」といったコードを実行することを記事にしました。
Excelそのものを操作する外部ライブラリ「xlwings」なら、Sheetオブジェクトにもautofit()メソッドが用意されています。
[スポンサードリンク]
Sheet.autofit()を確認するサンプルスクリプト
AutoFitしたいワークシートがアクティブな状態で以下のスクリプトを実行してください。
import xlwings as xw
xw.sheets.active.autofit()
xw.sheets.active.autofit()
Sheet.autofit()メソッドを使うことで、アクティブシートの行も列もAutoFitされます。
Sheet.autofit()メソッドの定義
_xlwindows.pyモジュールのSheetクラスで、autofit()メソッドは以下のように定義されています。
def autofit(self, axis=None):
if axis == "rows" or axis == "r":
self.xl.Rows.AutoFit()
elif axis == "columns" or axis == "c":
self.xl.Columns.AutoFit()
elif axis is None:
self.xl.Rows.AutoFit()
self.xl.Columns.AutoFit()
内部では、Excel VBAの「Rows.AutoFit()」と「Columns.AutoFit()」を呼び出していることがわかります。
最終更新日時:2023-07-26:16:40
[スポンサードリンク]
- Newer:VBAで非アクティブシートのセルを選択するには
- Older:Excel VBAでTSV(タブ区切りテキスト)を出力する
Home » Python » xlwingsの使い方 » xlwingsはSheetにもautofit()メソッドがある