Python(openpyxl)でエクセルにコメントを挿入する方法

スポンサードリンク
アイキャッチ Python
過去の自分
過去の自分

エクセルのA1セルにコメントを挿入しないといけなくなった…。
openpyxlの編集ついでに挿入する方法は無いの?

今の自分
今の自分

あります!
簡単にできる方法を紹介いたします。

Python(openpyxl)でエクセルにコメントを挿入する方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。

スポンサードリンク

Python(openpyxl)でエクセルにコメントを挿入するには

「comment」を使います。まずは実行見本をどうぞ。

実行見本

実行見本

全コード

ひとまず全コードを網羅します。解説は後ほど行います。

import openpyxl
from openpyxl.comments import Comment

wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']

ws['A1'].comment = Comment(text='暫定の数値です', author='Utatane')

wb.save('input.xlsx')
from openpyxl.comments import Comment
ws['A1'].comment = Comment(text='暫定の数値です', author='Utatane')

事前準備

  • openpyxlのインストール

既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。

openpyxlのインストール方法

openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。

pip install openpyxl

※openpyxlを使用したことがある場合は、このインストール作業は不要です。

openpyxlの基礎解説

既存ファイルを開いて保存する方法などの操作の基本解説は、下記記事で行っております。
ご参考ください。

スポンサードリンク

解説:Python(openpyxl)でエクセルにコメントを挿入

>>2.from openpyxl.comments import Comment

コメントを挿入するには、「Comment」をインポートする必要があります。
上記を記述して、インポートを完了させてください。

>>7.ws[‘A1′].comment = Comment(text=’暫定の数値です’, author=’Utatane’)

上記一文を記述することで、A1セルに「暫定の数値です」というコメントを挿入することができます。
「text」入れたいコメントを記述し、authorにはコメント作成者を入れます。

サンプル

【 ワークシート変数[‘セル名’].comment = Comment(text=’コメント‘, author=’コメント作成者’) 】

コメント作成者は空欄(”)でも構いませんが、入れないとエラーが出ます。

▼コメント作成者を入れなかった場合のエラー「Comment(text=’暫定の数値です‘)

エラー

▼コメント作成者を空欄にした場合「Comment(text=’暫定の数値です‘, author=”)

サンプル
今の自分
今の自分

稀にコメント作成者を取得する場合があり、
空欄だと何かと都合が悪いので、
作成者には何らかの文字を入れておくのが無難です。

▼「コメント」と「コメント作成者」、どちらも変数に代入したものを記述することもできます。

zantei = '暫定の数値です'
auth = 'Utatane'
ws['A1'].comment = Comment(text=zantei, author=auth)

▼「コメント&作成者」を変数に入れ、使いまわすこともできます。

zantei = '暫定の数値です'
auth = 'Utatane'
comme = Comment(text=zantei, author=auth)
ws['A1'].comment = comme
ws['B1'].comment = comme
ws['C1'].comment = comme

コメントのサイズを変更したい場合

コメントのサイズ(付箋の大きさ)を変更することもできます。

zantei = '暫定の数値です'
auth = 'Utatane'
comme = Comment(text=zantei, author=auth)
comme.width = 200
comme.height = 200
ws['A1'].comment = comme
サンプル

コメントの横幅と高さが200になりました。

【 コメントを入れた変数.width = 横幅のサイズ 】
【 コメントを入れた変数.height = 高さのサイズ 】

コメントが既にある場合はどうなるのか

既にコメントが挿入されているA1に再度別のコメントを挿入するとどうなるのでしょうか?

ws['A1'].comment = Comment(text='暫定の数値ではありません', author='Utatane')
  1. 挿入できない
  2. エラーが出る
  3. 上書きされる
  4. 結合される
サンプル

正解は、3の上書きされるでした。

スポンサードリンク

うまく動作しない時

エラーが出る

No such file or directory: ○○

これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。

詳しい解説は、下記記事をご参考ください。

Permission denied: ○○

操作しようとしているファイルにアクセスできないというエラーです。
ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。

詳しい解説は、下記記事をご参考ください。

Worksheet ○○ does not exist

「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。

詳しい解説は、下記記事をご参考ください。

○○ is not defined

今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。

詳しい解説は、下記記事をご参考ください。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

スポンサードリンク

最後に

Python(openpyxl)でエクセルにコメントを挿入する方法を解説いたしました。

補足のためにコメントを入れたい場合にご活用ください。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

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