Excel のテキストボックスは、ワークシート、グラフ、その他のオブジェクトに補足情報や注釈を追加するための柔軟な手段です。データ自体には直接関係しない説明文、ラベル、コメントなどを表示するのに役立ちます。 本記事では、Spire.XLS for Python を使用して、Excel にテキストボックスを追加・更新・削除する方法について解説します。 Python で Excel にテキストボックスを追加する Python で Excel のテキストボックスを更新する 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 日間有効な一時ライセンスを取得してください。