初心者でもわかる!openpyxlでExcelのセルにメモ(コメント)を自由に追加・編集する方法

openpyxl

PythonでExcel作業の自動化、便利ですよね! openpyxlを使えば、データの読み書きは簡単にできます。でも、こんな風に思ったことはありませんか?

「このセルの値、どういう意味だっけ?」 「あとで確認するために、ちょっとしたメモを残しておきたいな…」

そんなとき、わざわざExcelファイルを開いて手作業でコメントを追加するのは少し面倒です。

この記事では、Pythonとopenpyxlを使って、Excelのセルに好きなメモ(コメント)を追加したり、編集したりする方法を、プログラミング初心者の方にも分かりやすく解説します。

この記事を最後まで読めば、あなたは…

  • Pythonコードだけで、Excelセルにメモ(コメント)を追加できるようになる
  • メモの作成者や内容を自由に設定できるようになる
  • メモの大きさを好きなサイズに変えられるようになる
  • スクリプトでメモの読み取りや削除もできるようになる

これまで手作業だったメモの追加作業を自動化して、あなたのExcel仕事をさらにスピードアップさせましょう! 🚀

はじめに:Excelのコメントは「セルに貼る付箋」です

Excelでセルを右クリックすると出てくる「コメント」機能。これは、セルに直接書ききれない補足情報や注意点を残しておける、まるで**「デジタルな付箋(ふせん)」**のようなものです。

openpyxlを使えば、この便利な付箋をPythonコードから自由に貼ったり、剥がしたりできるようになります。例えば、「合計が10,000円を超えたセルにだけ、『要確認』というメモを自動で付ける」なんてことも可能になるのです。

Commentクラスを使ってみよう

openpyxlでこの「付箋」機能を使うには、Commentという部品(クラス)を使います。

まずは、この部品を使うための準備として、openpyxlからCommentをインポートします。呪文のようなものだと思って、コードの最初に書いておきましょう。

from openpyxl.comments import Comment

これだけで準備OKです。

Excelセルにメモ(コメント)を追加する基本の3ステップ

実際にセルにメモを追加する手順は、たったの3ステップでとても簡単です。

  1. メモ(Commentオブジェクト)を作る
  2. どのセルに貼るか決める
  3. 実際にセルにペタッと貼る

では、具体的なコードを見ていきましょう。

サンプルコード:特定のセルにメモを追加する

以下のサンプルコードは、新しいExcelファイルを作成し、A1セルに簡単なメモを追加する一連の流れです。ぜひコピーして動かしてみてください。

import openpyxl
from openpyxl.comments import Comment

# --- 準備 ---
# 新しいExcelファイル(ワークブック)とシートを用意
wb = openpyxl.Workbook()
ws = wb.active
ws["A1"] = "自動化テスト"

# --- ここからが本番! ---

# ステップ1: メモ(Commentオブジェクト)を作る
# textにメモの内容、authorに作成者の名前を入れる
my_memo = Comment(text="このセルはプログラムで入力しました。", author="Pythonista")

# ステップ2&3: A1セルに作ったメモをペタッと貼る
ws["A1"].comment = my_memo

# --- 仕上げ ---
# ファイルを保存
wb.save("memo_sample.xlsx")

print("メモ付きのExcelファイルを保存しました。")

このコードを実行すると、memo_sample.xlsxというファイルができます。開いてA1セルにマウスを合わせると、設定したメモが表示されるはずです。簡単ですよね?

もっと便利に!メモをカスタマイズしよう

openpyxlのすごいところは、ただメモを追加できるだけではありません。その見た目を自分好みにカスタマイズすることも可能です。

メモの大きさ(高さ・幅)を変える

メモの内容が長文になると、デフォルトの小さい箱では読みづらいことがあります。そんなときは、メモの**高さ(height)幅(width)**を好きなサイズに変更しましょう。

# メモを作成
long_text_memo = Comment(
    text="これは非常に長いメモです。デフォルトのサイズでは...\n改行しても見切れてしまうかもしれません。",
    author="Mr. Custom"
)

# 高さと幅をピクセル単位で指定
long_text_memo.height = 100
long_text_memo.width = 300

# B3セルに設定
ws["B3"] = "長いメモ"
ws["B3"].comment = long_text_memo

このように、.height.widthに数字を入れるだけで、メモのボックスサイズを自由に調整できます。

既存のメモを読み書きする方法

すでにあるメモの内容を確認したり、不要になったメモを削除したりする方法も覚えておきましょう。

セルにあるメモの内容を読み取る

セルの.commentにアクセスすると、そこに貼られているメモの情報を取得できます。

# A1セルに貼られているメモを取得
retrieved_memo = ws["A1"].comment

# メモが存在するか確認してから、内容を表示
if retrieved_memo:
    print(f"A1セルのメモ内容: {retrieved_memo.text}")
    print(f"A1セルの作成者: {retrieved_memo.author}")

セルにあるメモを削除する

メモが不要になったら、セルの.commentNone(何もない、という意味)を設定するだけで、綺麗に削除できます。

# A1セルのメモを削除
ws["A1"].comment = None

まとめ

今回は、プログラミング初心者の方でも分かるように、openpyxlを使ってExcelのセルにメモ(コメント)を追加・編集する方法を解説しました。

  • メモの正体はCommentクラス
  • Comment(text="内容", author="作成者")でメモを作る
  • ws["A1"].comment = 作成したメモでセルに貼る
  • .height.widthで大きさも変えられる
  • .comment = Noneでメモを削除できる

この機能をマスターすれば、データ処理の結果に注釈を自動で付けたり、他の人への伝言をスクリプトで残したりと、活用の幅が大きく広がります。ぜひ、あなたのExcel自動化に役立ててくださいね!

コメント

タイトルとURLをコピーしました