Home » Python » xlwingsの使い方 » xlwingsのセル番地取得はRange.get_address()がaddressより高機能

xlwingsのセル番地取得はRange.get_address()がaddressより高機能

動作検証バージョン:Windows 10 Pro(64-bit)+ 64bit Excel(バージョン2302 ビルド16130.20218 キック実行)+ Python 3.11.1(64-bit) + xlwings 0.29.1

xlwingsを使う場合、「.used_range.last_cell.row」といったコードで、最終行番号を取得できることを解説しました。
この記事の中で少しだけ使っている、xlwingsのRange.addressプロパティについて補足しておきます。

xlwingsのRange.addressに引数は指定できない

Excel VBAの場合、RangeオブジェクトのAddressプロパティを使ってセル番地を表す文字列を取得でき、引数にFalseを2つ指定することで相対参照スタイルの文字列を取得することも可能です。

[スポンサードリンク]

xlwingsのRange.addressプロパティでも同じだろうと、引数を指定して実行してみたところ、

TypeError: 'str' object is not callable

といったエラーが発生してしまった方がいるかもしれません。

xlwingsの場合、Rangeオブジェクトのaddressプロパティに引数を指定できないためです。

おそらくxlwingsには、引数を指定できるプロパティはないはずです。

xlwingsのRange.get_address()なら引数を指定できる

xlwingsの場合、セル番地を取得するためのメソッドも、セルを表すRangeオブジェクトに用意されています。
Range.get_address()メソッドです。

このRange.get_address()メソッドならば、引数を指定することで、相対参照スタイルでセル番地を取得するなどが可能です。

何らかのExcelブックを開き、セルやセル範囲が選択された状態で、以下のスクリプトを実行してください。

import xlwings as xw

bk = xw.books.active
rng = bk.selection

print(rng.address)
print(rng.get_address(False, False))

選択されているセル・セル範囲の番地が、絶対参照スタイルと相対参照スタイルで出力されます。

最終更新日時:2023-03-23 08:24

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsのセル番地取得はRange.get_address()がaddressより高機能

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

検索


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

.