「excel win32com "テーブル"」
といった検索キーワードで、アクセスがありました。
pywin32・win32com.clientを使って、ExcelのListObjectオブジェクトを取得するには、どのようなコードを書けばいいのかを探していた方による検索でしょうか。
具体的にExcelのテーブルをどう操作したいのかがわかりませんので、テーブルの存在するワークシートの名前と、テーブルの名前を出力するスクリプトをご紹介しておきます。
ブックに含まれるテーブル名を出力するサンプル
テーブルの存在するブックが開かれている状態で、以下のスクリプトを実行してみてください。
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ブックに含まれるテーブル名を出力する