「excel rangeオブジェクト 表示形式 python」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
Pythonの何らかの外部ライブラリを使って、セルの表示形式を操作するには、どのようなコードを書けばいいのかを探していた方による検索でしょう。
「excel rangeオブジェクト 表示形式 python」
という検索キーワードだけでは、どのライブラリでのコードを求めていたのかがわかりませんので、「Range」という名前のオブジェクトが存在するxlwingsの例を、この記事ではご紹介します。
xlwingsでセルの表示形式を取得するサンプル
以下のようなスクリプトで、Cドライブtempフォルダーに存在するfoo.xlsxファイルの、先頭シートA1セルの表示形式が出力されます。
bk = xw.Book('C:\\temp\\foo.xlsx')
ws = bk.sheets[0]
rng = ws.range('A1')
print(rng.number_format)
xlwingsでは、Range.number_formatプロパティで、セルの表示形式を取得・設定できます。
number_formatはNumberFormatLocalに相当
Excel VBAからセルの表示形式を取得・設定するコードをご存知の方だと、xlwingsのRange.number_formatが、Excel VBAのRange.NumberFormatLocalとRange.NumberFormatのどちらだろうか、と疑問を感じるはずです(感じてください)。
上記のSubプロシージャを実行したときに、A1セルが「G/標準」であれば「G/標準」と出力されるので、xlwingsのRange.number_formatは、Excel VBAのRange.NumberFormatLocalプロパティをラップしているようです。
NumberFormatLocalプロパティのほうがNumberFormatよりメリットが大きいと私は感じているので、納得の結果です。
最終更新日時:2022-02-08 03:27
Home » Python » xlwingsの使い方 » xlwingsでセルの表示形式を取得する-Range.number_formatプロパティ