Home » Python » pywin32・win32comの使い方 » pywin32・win32comでExcelブックに含まれるテーブル名を出力する

pywin32・win32comでExcelブックに含まれるテーブル名を出力する

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

「excel win32com "テーブル"」
といった検索キーワードで、アクセスがありました。

pywin32・win32com.clientを使って、ExcelのListObjectオブジェクトを取得するには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。

[スポンサードリンク]

具体的にExcelのテーブルをどう操作したいのかがわかりませんので、テーブルの存在するワークシートの名前と、テーブルの名前を出力するスクリプトをご紹介しておきます。

ブックに含まれるテーブル名を出力するサンプル

テーブルの存在するブックが開かれている状態で、以下のスクリプトを実行してみてください。

import win32com.client

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

for sh in xl_app.ActiveWorkbook.Worksheets:
    for tbl in sh.ListObjects:
        print(sh.Name, tbl.Name)

アクティブなブックに存在するテーブルが含まれるワークシート名と、テーブル名がprintされます。

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

ExcelのListObjectオブジェクトは、Worksheetの子オブジェクトとして存在しています。

ですから、アクティブブックに含まれる全ワークシートに対するfor文の中で、

for sh in xl_app.ActiveWorkbook.Worksheets:

各ワークシートに含まれる全テーブルを表すListObjectsコレクションに対してfor文を回して、

    for tbl in sh.ListObjects:

ワークシート名と、テーブル名を出力しています。

        print(sh.Name, tbl.Name)

最終更新日時:2022-07-28 10:30

[スポンサードリンク]

Home » Python » pywin32・win32comの使い方 » pywin32・win32comでExcelブックに含まれるテーブル名を出力する

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

検索


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

.