Home » Python » xlwingsの使い方 » xlwingsでセルに入力されている数式を取得する-Range.formulaプロパティ

xlwingsでセルに入力されている数式を取得する-Range.formulaプロパティ

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2105 ビルド14026.20308 Microsoft Store)+ Python 3.8.3 + xlwings 0.23.1

「xlwingsセル 式の取得」
といった検索キーワードでアクセスがあることに気が付きました。

PythonからExcelを操作するライブラリxlwingsを使った場合に、セルに入力されている数式を取得するには、どのようなコードを書けばいいのか探していらしたのでしょう。

[スポンサードリンク]

xlwingsで数式を扱う場合にもRange.formula

xlwingsでも、Rangeオブジェクトに用意されているformulaプロパティで、セルに入力されている数式を取得したり、設定したりできます。

xlwingsは、Excel VBAとまったく同じというわけではありませんが、Excel VBAの悪くない部分は、できるだけそのまま取り入れようとしているライブラリに、私には感じられます。

xlwings.Range.formulaを確認するサンプル

先頭シートのC1:C4セルに、下図のようなさまざまな数式を入力したsample.xlsxファイルを、

Cドライブtempフォルダーに保存しておいてから、以下のコードを実行してみてください。

import xlwings

bk = xlwings.Book(r'C:\temp\sample.xlsx')
sht = bk.sheets[0]

print(sht.range('C1').formula)
print(sht.cells(2, 3).formula)
print(sht.range(3, 3).formula)
print(sht['C4'].formula)

以下のように、セルに入力されている数式がそのまま出力されます。

=A1+B1
=SUM(A2:B2)
=A3>B3
=IF(A4>B4, "Aが大きい", "")

Excel VBA的なコードでRangeを取得した場合でも、
  print(sht.range('C1').formula)
  print(sht.cells(2, 3).formula)

Excel VBA的ではないコードでRangeを取得した場合でも同じです。
  print(sht.range(3, 3).formula)
  print(sht['C4'].formula)

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsでセルに入力されている数式を取得する-Range.formulaプロパティ

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

検索


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

.