動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.29.1 + 64bit Excel(バージョン2302 ビルド16130.20218)
Excel VBAのListObjectに相当する、xlwingsのTableオブジェクトを取得するコードをご紹介しています。
以下のような階層を辿って取得するコードです。
Book
└ Sheet
└ Tables
他にもTableオブジェクトを取得する方法があります。
[スポンサードリンク]
xlwingsでRangeからTableを取得するサンプルスクリプト
Excelを起動して、テーブル内のセルを選択しておいてから、以下のスクリプトを実行してください。
import xlwings as xw
print(tbl.range.address)
bk = xw.books.active
rng = bk.selection
tbl = rng.table
tbl.range.select()print(tbl.range.address)
たとえば、下図のようなテーブルの存在するワークシートでB2セルがアクティブな状態で実行すると、
下図のようにテーブル全体が選択され、
そのセル範囲のアドレス「$A$1:$C$5」が出力されます。
Range.tableプロパティでTableを取得できる
テーブルを表すTableオブジェクトを取得しているのは、
tbl = rng.table
の行です。
セルを表すRangeオブジェクトに用意されているtableプロパティを使うと、そのセルがテーブル内にあるときにTableオブジェクトを取得できます。
[スポンサードリンク]
- Newer:pywin32・win32com.clientでPowerPointのスライドを選択する
- Older:Kindleのゴールデンウイークセールで『VBAユーザーのためのPython超入門』が5/12(金)まで特価371円に
Home » Python » xlwingsの使い方 » xlwingsのRange.tableでもテーブルを取得できる