Home » Python » pywin32・win32comの使い方 » pywin32・win32comでExcelの名前の定義を行う

pywin32・win32comでExcelの名前の定義を行う

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2206 ビルド15330.20246 Microsoft Store)+ Python 3.8.3 + pywin32 228

「python win32 セル名の定義」
という検索キーワードでアクセスがありました。

pywin32・win32com.clientを使って、Excelの名前の定義を行うには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。

[スポンサードリンク]

PythonからExcelの名前を定義するサンプルスクリプト

Excelファイルが1つ開かれて、ワークシートがアクティブな状態で、以下のスクリプトを実行してください。

import win32com.client

xl_app = win32com.client.GetObject(Class='Excel.Application')
xl_app.Range('A1:G7').Name = '名前のサンプル'

アクティブシートのA1:G7セルに「名前のサンプル」という名前が定義されます。

サンプルスクリプトで行っている処理

Rangeオブジェクトに用意されているNameプロパティを使って、VBAから名前を定義できることをご紹介しています。

上記のpywin32・win32comを使ったスクリプトもやっていることは同じです。
Excel VBAであれば

Range("A1:G7").Name = "名前のサンプル"

で済んでしまいますが、Pythonからですから、まずimportを行って、

import win32com.client

次に、Excel.Applicationへの参照を取得してします。

xl_app = win32com.client.GetObject(Class='Excel.Application')

Excel.Applicationへの参照を代入した変数xl_appを経由して利用できる

xl_app.Range('A1:G7').Name = '名前のサンプル'

ExcelのApplication.Rangeプロパティを使って

セルを表すRangeオブジェクトを取得しています。

上記スクリプトの

xl_app.Range('A1:G7').Name = '名前のサンプル'

の部分を、

xl_app.Workbooks(1).Worksheets(1).Range('A1:G7').Name = 'ブックから指定した名前のサンプル'

にすれば、1つ目のブックの、1枚目のワークシートのA1:G7セルに「ブックから指定した名前のサンプル」と名前が定義されます。

[スポンサードリンク]

Home » Python » pywin32・win32comの使い方 » pywin32・win32comでExcelの名前の定義を行う

「pywin32・win32comの使い方」の記事一覧

検索


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

.