「パイソン sheets.add 位置 xlwings」
という検索キーワードでアクセスがありました。
表計算ソフトExcelを操作するPythonの外部ライブラリxlwingsの、Sheets.add()メソッドを使ってワークシートを追加・作成する際、位置を指定するにはどうすればいいのかを調べていらしたのでしょうか。
xlwingsでシートを追加する際に位置を指定するサンプル
以下のスクリプトを実行すると、新規にブックが作成され、1枚目のワークシートの直後に「1枚目の後ろに追加した新規シート」ワークシートが作成されます。
bk = xw.Book()
bk.sheets.add(name='1枚目の後ろに追加した新規シート', after=bk.sheets[0])
Sheets.add()メソッドの引数afterに、Sheetオブジェクトを指定すると、そのSheetの後ろに新しいワークシートが追加されます。
更に、以下のコードを実行すると、先頭に「先頭に追加した新規シート」が作成されます。
bk.sheets.add(name='先頭に追加した新規シート', before=bk.sheets[0])
末尾の指定がExcel VBAより簡単
先ほどのコードにつづけて以下のコードを実行すると、末尾に「末尾に追加した新規シート」が作成されます。
bk.sheets.add(name='末尾に追加した新規シート', after=bk.sheets[-1])
Pythonのリストでは、拙著『VBAユーザーのためのPython超入門』の「8-2. インデックスにはマイナス値も指定できる」でもお伝えしているとおり、カギ括弧 [] にマイナスの整数も指定できます。カギ括弧 [] 内に「-1」を指定すれば、リストの最後の要素を取得できます。
xlwingsのBook.sheetsプロパティの戻り値はリストではありませんが、リストっぽく扱えるように実装されているため、Excel VBAの場合より末尾への挿入がシンプルなコードで書けます。
- 『VBAユーザーのためのPython超入門』出ました。
- 『VBAユーザーのためのPython超入門』に登場するVBA関数一覧
- 『VBAユーザーのためのPython超入門』に登場するPythonの関数・メソッド一覧
最終更新日時:2023-02-13 22:57
Home » Python » xlwingsの使い方 » xlwingsでシートを追加するときに位置を指定するには?