仕事でQRコードをパッと作ってプロジェクトメンバーと共有したいというシチュエーションがあり、どうしようかなと考えていました。
そしたらAPIでQRコードを生成できるサービスがあったので、こちらを利用させていただくことに。
何かしら文字列を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です。
これでカスタム関数として使えるようになったので、スプレッドシート側で=qrcodeGen()
という関数が使えるようになります。
第一引数はQRCodeに埋め込みたい文字列、第二引数はQRCodeのサイズになっています。
挙動としてはこんな感じ*1。
できたURLをクリックするとQRCodeのpngファイルが表示されるので、ダウンロードするなりお好きにどうぞ、てな具合です。
以上!
*1:初回実行時はスクリプトの実行権限の承認を求められます