Home » Python » OpenPyXLの使い方 » OpenPyXLで最後・右端のシートを取得する-Workbook.worksheets[-1]

OpenPyXLで最後・右端のシートを取得する-Workbook.worksheets[-1]

動作検証バージョン:Windows 10 + Python 3.7.3 + OpenPyXL 2.6.2

OpenPyXLでシートを複製するコードについて書きました。

この記事を書く際に、OpenPyXLでは、Excel VBAとは随分異なるコードで最後尾・右端のシートを取得できることに気付きました。

[スポンサードリンク]

OpenPyXLで最後・右端のシートを取得する

Cドライブのtempフォルダーに、複数のワークシートが存在するfoo.xlsxファイルを用意しておいて、以下のコードを実行してみてください。

import openpyxl

wb = openpyxl.load_workbook('C:\\temp\\foo.xlsx')

ws = wb.worksheets[-1]
print(ws.title)

最後尾のシート名が出力されます。

Workbook.worksheets[-1]で最後・右端のWorksheetを取得

Workbook.worksheetsは、Worksheetオブジェクトリストを返してくれます。

Workbook.worksheetsが返すのはオブジェクトのリストですから、単なるデータのリストほどの自由度はなさそうですが、リストであることに違いはなく上記コードのように、
  ws = wb.worksheets[-1]
といった指定で、最後尾のシートを取得できるようです。

Excel VBAの場合、Worksheetsコレクションの既定プロパティやItemプロパティの引数にシート枚数を指定する必要があり、OpenPyXLのworksheets[-1]という指定は、スマートに感じます。

最終更新日時:2021-03-19 10:32

[スポンサードリンク]

Home » Python » OpenPyXLの使い方 » OpenPyXLで最後・右端のシートを取得する-Workbook.worksheets[-1]

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

検索


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

.