Home » Python » xlwingsの使い方 » xlwingsのRange.tableでもテーブルを取得できる

xlwingsのRange.tableでもテーブルを取得できる

動作検証バージョン: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

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オブジェクトを取得できます。

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsのRange.tableでもテーブルを取得できる

「xlwingsの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.