動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.29.1 + 64bit Excel(バージョン2304 ビルド16327.20134)
「excel シート選択 python」
「python エクセルのシート 選択」
といった検索で時折アクセスがあります。
OpenPyXLを使ったシートを1枚選択するコードは既にご紹介していますので、この記事では、Excelを操作するPythonの外部ライブラリ「xlwings」を使ってExcelのワークシートを選択する例をご紹介します。
[スポンサードリンク]
xlwingsでワークシートを選択するサンプル
Excelでブックが開かれている状態で以下のスクリプトを実行すると、アクティブブックの先頭のワークシートが選択されます。
import xlwings as xw
bk = xw.books.active
bk.sheets[0].select()
bk = xw.books.active
bk.sheets[0].select()
Sheetオブジェクトに用意されているselect()メソッドを使うことで、ワークシートを選択できます。
OpenPyXLのような選択解除処理を入れる必要はありません。
最後のワークシートを選択する
上記のスクリプトの
bk.sheets[0].select()
を
bk.sheets[-1].select()
に変更すれば、最後のワークシートを選択できます。
アクティブではないブックの場合には例外が発生
Sheet.select()メソッドのdocstringには
Selects the Sheet. Select only works on the active book.
と書かれています。
試しに、アクティブではないBookで、Sheet.select()を呼ぶと、以下のような例外が発生します。
com_error: (-2147352567, '例外が発生しました。', (0, 'Microsoft Excel', 'Worksheet クラスの Select メソッドが失敗しました。', 'xlmain11.chm', 0, -2146827284), None)
Excel VBAでも同じ
Excel VBAでもアクティブではないWorkbookが変数bkに代入されているときに
bk.Worksheets(1).Select
を実行すると、
実行時エラー'1004'
Worksheet クラスの Select メソッドが失敗しました。
エラーが発生します。
最終更新日時:2023-05-08 10:01
[スポンサードリンク]
Home » Python » xlwingsの使い方 » xlwingsでワークシートを選択する-Sheet.select()メソッド