Home » Python » xlwingsの使い方 » xlwingsでシートを追加するときに位置を指定するには?

xlwingsでシートを追加するときに位置を指定するには?

動作検証バージョン:Windows 10 Pro(64-bit)+ 32bit Excel(バージョン2212 ビルド15928.20216 Microsoft Store)+ Python 3.8.3 + xlwings 0.24.5

「パイソン sheets.add 位置 xlwings」
という検索キーワードでアクセスがありました。

表計算ソフトExcelを操作するPythonの外部ライブラリxlwingsの、Sheets.add()メソッドを使ってワークシートを追加・作成する際、位置を指定するにはどうすればいいのかを調べていらしたのでしょうか。

xlwingsでシートを追加する際に位置を指定するサンプル

以下のスクリプトを実行すると、新規にブックが作成され、1枚目のワークシートの直後に「1枚目の後ろに追加した新規シート」ワークシートが作成されます。

import xlwings as xw

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の場合より末尾への挿入がシンプルなコードで書けます。

最終更新日時:2023-02-13 22:57

[スポンサードリンク]

Home » Python » xlwingsの使い方 » xlwingsでシートを追加するときに位置を指定するには?

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

検索


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

.