Pythonのライブラリであるopenpyxl
を使用してExcelの名前定義(Defined Names)を操作する方法について説明します。
名前定義とは
名前定義は、Excelのセル、セル範囲、数式、または定数値を表す記述的なテキストです。これらは、定数、数式、単一のセル参照、セル範囲、または異なるワークシートにわたる複数のセル範囲を含むことができます。
名前定義の取得
名前定義は、ワークブックのdefined_names
プロパティから取得できます。以下にその例を示します。
from openpyxl import load_workbook
wb = load_workbook(filename="test.xlsx")
defined_names_cat = wb.defined_names['cat']
destinations_cat = defined_names_cat.destinations
このコードでは、load_workbook
関数を使用してExcelファイルを読み込み、defined_names
プロパティから特定の名前定義を取得しています。
名前定義の作成
名前定義は、ワークブックのdefined_names
プロパティに追加することで作成できます。以下にその例を示します。
from openpyxl import Workbook
from openpyxl.workbook.defined_name import DefinedName
from openpyxl.utils import quote_sheetname, absolute_coordinate
wb = Workbook()
ws = wb.active
ref = f"{quote_sheetname(ws.title)}!{absolute_coordinate('A1:A5')}"
defn = DefinedName("global_range", attr_text=ref)
wb.defined_names["global_range"] = defn
このコードでは、新しいワークブックを作成し、アクティブなワークシートの特定の範囲を参照する新しい名前定義を作成しています。
以上がPythonとopenpyxlを使用してExcelの名前定義を操作する基本的な方法です。詳細な情報や使用例については、公式のopenpyxlドキュメンテーションを参照してください。