Excel のテキストボックスは、ワークシート、グラフ、その他のオブジェクトに補足情報や注釈を追加するための柔軟な手段です。データ自体には直接関係しない説明文、ラベル、コメントなどを表示するのに役立ちます。
本記事では、Spire.XLS for Python を使用して、Excel にテキストボックスを追加・更新・削除する方法について解説します。
Spire.XLS for Python のインストール
この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。
pip install Spire.XLS
Python で Excel にテキストボックスを追加する
テキストボックスは、Worksheet.TextBoxes.AddTextBox() メソッドを使って、ワークシートの任意の位置に追加できます。TextBox オブジェクトには、テキスト内容や書式を設定するためのプロパティが用意されています。
Spire.XLS for Python を使ってテキストボックスを作成する手順は以下の通りです。
- Workbook オブジェクトを作成します。
- Workbook.Worksheets[index] プロパティを使用して特定のワークシートを取得します。
- Worksheet.TextBoxes.AddTextBox() メソッドで、指定した位置にテキストボックスを追加します。
- TextBox.Text プロパティでテキストを設定します。
- その他の TextBox プロパティを使って書式を調整します。
- Workbook.SaveToFile() メソッドで Excel ファイルとして保存します。
from spire.xls import *
# Workbook オブジェクトを作成します
workbook = Workbook()
# 最初のワークシートを取得します
sheet = workbook.Worksheets[0]
# ワークシートにテキストボックスを追加し、位置とサイズを指定します
textBox = sheet.TextBoxes.AddTextBox(5, 3, 120, 400)
# テキストボックスの塗りつぶしの色を設定します
textBox.Fill.FillType = ShapeFillType.SolidColor
textBox.Fill.ForeKnownColor = ExcelColors.Gray25Percent
# テキストボックスにテキストを追加し、テキストの配置を設定します
textBox.Text = "これは Excel のテキストボックスです。"
textBox.HAlignment = CommentHAlignType.Center
textBox.VAlignment = CommentVAlignType.Center
# テキストのフォントを設定します
font = workbook.CreateFont()
font.FontName = "Yu Gocthic UI"
font.Size = 18
font.IsBold = True
font.Color = Color.get_DarkCyan()
richText = textBox.RichText
rt = RichText(richText)
rt.SetFont(0, len(textBox.Text) - 1, font)
# ワークブックを Excel ファイルとして保存します
workbook.SaveToFile('output/テキストボックスを挿入.xlsx', ExcelVersion.Version2016)
workbook.Dispose()
Python で Excel のテキストボックスを更新する
既存のテキストボックスは、Worksheet.TextBoxes[index] プロパティで取得し、TextBox.Text プロパティを通じて内容を取得・編集できます。
以下は、Spire.XLS for Python を使用してテキストボックスを更新する手順です。
- Workbook オブジェクトを作成します。
- Workbook.LoadFromFile() メソッドで既存の Excel ファイルを読み込みます。
- Workbook.Worksheets[index] プロパティを使ってワークシートを取得します。
- Worksheet.TextBoxes[index] で特定のテキストボックスを取得します。
- TextBox.Text プロパティでテキスト内容を再設定します。
- Workbook.SaveToFile() メソッドで別の Excel ファイルとして保存します。
from spire.xls import *
# Workbook オブジェクトを作成します
workbook = Workbook()
# Excel ファイルを読み込みます
workbook.LoadFromFile('output/テキストボックスを挿入.xlsx')
# 最初のワークシートを取得します
sheet = workbook.Worksheets[0]
# 最初のテキストボックスを取得します
tb = sheet.TextBoxes[0]
# テキストボックスのテキストを変更します
tb.Text = "このテキストボックスのテキストは変更されました。"
# ワークブックを別の Excel ファイルとして保存します
workbook.SaveToFile('output/テキストボックスを更新.xlsx', ExcelVersion.Version2016)
workbook.Dispose()
Python で Excel のテキストボックスを削除する
特定のテキストボックスは、Worksheet.TextBoxes[index].Remove() メソッドを使用して削除できます。手順は以下の通りです。
- Workbook オブジェクトを作成します。
- Workbook.LoadFromFile() メソッドで Excel ファイルを読み込みます。
- Workbook.Worksheets[index] プロパティを使って対象のワークシートを取得します。
- Worksheet.TextBoxes[index].Remove() メソッドでテキストボックスを削除します。
- Workbook.SaveToFile() メソッドで変更内容を保存した新しいファイルを出力します。
from spire.xls import *
# Workbook オブジェクトを作成します
workbook = Workbook()
# Excel ファイルを読み込みます
workbook.LoadFromFile('output/テキストボックスを挿入.xlsx')
# 最初のワークシートを取得します
sheet = workbook.Worksheets[0]
# 最初のテキストボックスを削除します
sheet.TextBoxes[0].Remove()
# ワークブックを別の Excel ファイルとして保存します
workbook.SaveToFile('output/テキストボックスを削除.xlsx', ExcelVersion.Version2016)
workbook.Dispose()
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。