これさえあれば大丈夫!GoogleスプレッドシートでQRコード生成のベストプラクティス

2024-07-27

Google スプレッドシートでQRコードを生成する代替案

Google スプレッドシートでQRコードを生成するには、charts.googleapis.com を利用する方法が一般的でしたが、2023年4月よりこのサービスが廃止されました。

そこで、代替案として以下の3つの方法を紹介します。

  • QRコードジェネレータサービス
  • Google Apps Script
  • IMPORTRANGE関数

各方法の詳細

メリット:

  • 手軽に利用できる
  • 無料プランでも十分な機能
  • デザインのカスタマイズも可能
  • 外部サービスを使うため、セキュリティ面に不安を感じる場合がある
  • データの転送量に制限がある場合がある

代表的なサービス:

利用方法:

  1. サービスにアクセスし、生成したいURLやテキストを入力
  2. デザインやオプションを設定
  3. QRコード画像をダウンロード
  4. Google スプレッドシートに画像を挿入
  • スプレッドシート内で完結するため、データの安全性が高い
  • コードを編集することで、高度なカスタマイズが可能
  • スクリプト作成の知識が必要
  • 複雑なコードになると、理解や修正が難しい
function generateQRCode(url) {
  var qrCode = Utilities.newBlob(
    Utilities.parseBase64(
      Charts.getImage('qr', url, 200)
    )
  );
  return qrCode;
}
  1. スクリプトエディタを開き、上記のコードを貼り付け
  2. url の部分を生成したいURLに変更
  3. スクリプトを実行
  4. 生成されたQRコード画像をセルに貼り付け
  • 外部サービスやスクリプトを使わずに、他のスプレッドシートのQRコードを挿入できる
  • 他のスプレッドシートが公開されている必要がある
  • 複雑なURLやテキストには対応していない
  1. QRコードが生成されている他のスプレッドシートのURLを取得
  2. 以下の式をセルに入力
=IMPORTRANGE("URL", "Sheet名!A1")
  • URL を他のスプレッドシートのURLに置き換え
  • Sheet名 をQRコード画像が配置されているシート名に置き換え
  • A1 をQRコード画像が配置されているセルに置き換え
  • 生成したQRコードのサイズや位置は、セルに合わせて調整する必要がある
  • QRコードを読み取るには、専用のアプリが必要



function generateQRCode(url) {
  var qrCode = Utilities.newBlob(
    Utilities.parseBase64(
      Charts.getImage('qr', url, 200)
    )
  );
  return qrCode;
}

解説:

  • generateQRCode という名前の関数を作成
  • 引数 url に生成したいURLを受け取る
  • Charts.getImage 関数を使って、URLからQRコード画像のBase64エンコードを取得
  • Utilities.parseBase64 関数でBase64エンコードをデコード
  • Utilities.newBlob 関数でBlobデータを作成
  • 生成されたBlobデータを返却

例:

var url = "https://www.google.com/";
var qrCode = generateQRCode(url);
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.getRange('A1').setValue(qrCode);
=IMPORTRANGE("URL", "Sheet名!A1")
  • IMPORTRANGE 関数を使って、他のスプレッドシートのセル値を取得
  • 引数 URL に他のスプレッドシートのURLを指定
  • 引数 Sheet名!A1 にQRコード画像が配置されているセルを指定
=IMPORTRANGE("URL", "Sheet名!A1")
var url = "https://docs.google.com/spreadsheets/d/1234567890/edit";
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.getRange('A1').setValue('=IMPORTRANGE("' + url + '", "Sheet1!A1")');



Google スプレッドシートには、QRコードを生成するアドオンがいくつかあります。 アドオンを使うと、メニューから簡単にQRコードを生成できます。

代表的なアドオン:

画像編集ソフト

PhotoshopやIllustratorなどの画像編集ソフトを使って、QRコードを作成することができます。

  • デザインを自由にカスタマイズできる
  • 高画質なQRコードを作成できる
  • 画像編集ソフトの操作に慣れている必要がある

手書き

QRコードは、手書きでも作成することができます。

  • 特別なツールや知識がなくても作成できる
  • 読み取り精度が低くなる可能性がある

google-sheets google-sheets-formula qr-code

google sheets formula qr code