Excel QRコードを一括で作成する方法(Microsoft365限定)

エクセルシートに一覧がありその一覧の値を使ってQRコードを一括で作成したいと考えたことはないだろうか。
Microsoft 365を使っている環境であれば、エクセルを使ってQRコードを一括で作成することができる。
この記事では、QRコードを一括で簡単に作成する方法について紹介する。

PR

ExcelでQRコードを一括で作成する方法

最新のエクセルではPythonという言語を使ってマクロのようにコード作成することができる。このPythonを使ってQRコードを作成する。

1. QRコードの値として設定したい値や文字列の一覧を作成し、下記のように「計算式」「QRコード」列を追加で作成する。

列名内容
QRコードの値QRコードに設定したい文字列や値
計算式QRコードを生成するための関数を実行する計算式を設定する列
後で非表示にしても良い。
QRコード実際のQRコードを表示する
Excel QRコードを一括で作成する方法(Microsoft365限定)
1. QRコードの値として設定したい値や文字列の一覧を作成し、下記のように「計算式」「QRコード」列を追加で作成する。

2. QRコードを作成したいエクセルシートの何も使ってないセルに下記の計算式を貼り付ける。

=PY(import qrcode
from qrcode.image.styledpil import StyledPilImage
def generate_qr(data):
    # QR コードを生成する
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10, # QRコードのドットのサイズ
        border=4, # QRコードの余白サイズ
    )
    qr.add_data(data)
    qr.make(fit=True)

    img = qr.make_image(image_factory=StyledPilImage)
    img.show())

「A1」にコードを入力して、Ctrl + エンターを同時押し

Excel QRコードを一括で作成する方法(Microsoft365限定)
「A1」にコードを入力して、Ctrl + エンターを同時押し

「=py(」と入力するとpython入力モードになるため、その状態では、赤字の部分のみ入力する。

コードが設定された

Excel QRコードを一括で作成する方法(Microsoft365限定)
コードが設定された

3. 「計算式」列に下記の計算式を入力する。

=PY(generate_qr(xl("[QRコードの値のセル]")))

例1(テーブルの場合):=PY(generate_qr(xl("[@QRコードの値]")))
例2(通常のセル参照):=PY(generate_qr(xl("A4")))

「=py(」と入力するとpython入力モードになるため、その状態では、赤字の部分のみ入力する。

「計算式」列に「=PY(generate_qr(xl(“[@QRコードの値]”)))」入力し、Ctrl + エンター を同時押し

Excel QRコードを一括で作成する方法(Microsoft365限定)
「計算式」列に「=PY(generate_qr(xl("[@QRコードの値]")))」入力し、Ctrl + エンター を同時押し

コードが設定された

Excel QRコードを一括で作成する方法(Microsoft365限定)
コードが設定された

4. 「QRコード」列に下記の計算式を入力する

=[「計算式」列のセル].image

例1(テーブルの場合):=[@計算式].image
例2(通常のセル参照):=B5.image

「QRコード」列に「=[@計算式].image」入力し、Ctrl + エンター を同時押し

Excel QRコードを一括で作成する方法(Microsoft365限定)
「QRコード」列に「=[@計算式].image」入力し、Ctrl + エンター を同時押し

QRコードが表示された

Excel QRコードを一括で作成する方法(Microsoft365限定)
QRコードが表示された

行数分の計算式を設定すれば、QRコードが一覧で作成される。

PR

コードの解説

下記は一連のコードについての解説。中身を理解されたい方のみ参照していただき、そうでない方は読み飛ばしていただいて構わない。

A1セルに入力したコードについて

このPythonコードは、QRコードを生成して表示するためのものです。以下に、各部分の詳細な解説をします。

1. インポート部分

import qrcode
from qrcode.image.styledpil import StyledPilImage
  • qrcode: PythonでQRコードを作成できるライブラリ。
  • StyledPilImage: qrcodeライブラリのサブモジュールで、PIL(Python Imaging Library)形式のスタイル付き画像を生成するためのクラス。これを使うと、ただの白黒ではなく、少しデザインされたQRコードを生成できます。

2. 関数定義

def generate_qr(data):
  • generate_qrという関数を定義しています。dataという引数に、QRコードに埋め込むテキストやURLなどを渡します。

3. QRコードオブジェクトの作成

qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
各引数の意味:
  • version=1: QRコードのバージョン(サイズ)を指定。1は最小サイズ(21×21マス)です。
  • error_correction=qrcode.constants.ERROR_CORRECT_L: 誤り訂正レベル(エラー訂正能力)を設定。
    • Lは最も低い(7%まで復元可能)。
  • box_size=10: 1つのドットのピクセルサイズ。
  • border=4: QRコード周囲の余白(ドット数)。

4. データ追加とQRコードの作成

qr.add_data(data)
qr.make(fit=True)
  • add_data(data): 渡されたデータ(テキストやURLなど)をQRコードに追加。
  • make(fit=True): データ量に応じて自動的に最適なサイズに調整。

5. 画像を生成して表示

img = qr.make_image(image_factory=StyledPilImage).convert("RGBA")
img.show()
  • make_image(...): QRコード画像を生成。ここで StyledPilImage を指定して、スタイル付き画像にしています。
  • .convert("RGBA"): 画像をRGBA(透過情報ありのカラー)に変換。
  • img.show(): 生成された画像を標準ビューアで開いて表示。

「計算式」列に入力した計算式

A1セルに入力したコード中にある、関数定義「generate_qr(data)」にdataを引数にして呼び出して画像を作成している

「QRコード」列に入力した計算式

「計算式」列で出力された情報をExcelの画像として表示している。
計算式列ですべてができれば良かったが、できるかどうかは不明。筆者の知識不足があるかもしれない。

PR

QRコードを簡単に作成する場合

QRコードを簡単に作成する場合は、下記の記事を参考にしてほしい。

Excel QRコードを簡単に作成する方法(Microsoft365専用) | ITメモ(IT Memo)

\ITメモが役に立ったら/

ITメモをサポートする!
Office
PR

コメント

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