DTPab

DTPにまつわるあれこれ

Google SheetでQR Code Generatorを使ったURLを生成するカスタム関数

f:id:uske_S:20211227210008p:plain 仕事でQRコードをパッと作ってプロジェクトメンバーと共有したいというシチュエーションがあり、どうしようかなと考えていました。

そしたらAPIでQRコードを生成できるサービスがあったので、こちらを利用させていただくことに。

QR code API

何かしら文字列をGETリクエストで渡せばPNGファイルが生成されるという便利なサービス。画像へのリクエストURLをGoogle Sheetから生成させようとカスタム関数を作りました。

GASに書くコードとしてはこれだけ。

function qrcodeGen(url, size) {
  return `https://api.qrserver.com/v1/create-qr-code/?data=${encodeURIComponent(url)}&size=${size}x${size}`;
}

注意点としては、スプレッドシートに紐付いたGASとして作る必要があること。なので、拡張機能メニューからApps Scriptを選んでください。そこから開いたエディタに先程のコードをコピペすればOKです。

f:id:uske_S:20211227203354p:plain

これでカスタム関数として使えるようになったので、スプレッドシート側で=qrcodeGen()という関数が使えるようになります。
第一引数はQRCodeに埋め込みたい文字列、第二引数はQRCodeのサイズになっています。

挙動としてはこんな感じ*1

f:id:uske_S:20211227203900g:plain
Google Sheet上での操作

できたURLをクリックするとQRCodeのpngファイルが表示されるので、ダウンロードするなりお好きにどうぞ、てな具合です。
以上!

*1:初回実行時はスクリプトの実行権限の承認を求められます