LINE WORKSは、ビジネスチャットで唯一、LINEや外部のLINE WORKSとつながることができる「外部トーク連携」という機能を提供しています。
LINEを使うユーザーと直接やりとりができるようになるため、営業の顧客接点や、協力会社とのやり取りなど、様々な場面で社外とのコミュニケーションに活用することができます。
友だち追加QRコードとは
外部トーク連携をするには、LINE WORKSのQRコードを名刺やメールのフッターに掲載し、LINEユーザ側から「友だち追加」をしてもらう、というやり方がありますが、
「複数名のQRコードを一括で作成したい」 という要望を多くいただいておりましたので、Excel VBAやGoogle Appsを使って、ほぼコピペだけで簡単に一括生成する方法をご案内します。
(動作保証やサポートはしていません。あくまで自己責任の範囲でご利用ください)
利用イメージ
指定したフォルダへ {ID名}.png というファイル名のQRコードを一括出力します
所要時間:約5~10分
Excelを使う場合
Excel VBAの利用権限の制限があったり、Macユーザの方でVBAを利用できない方は、後述するGoogle Appsをお試しください。
1. フォルダの作成
Cドライブ直下に「QRCode」という名前のフォルダを作ります
※他のフォルダを指定したい場合は適宜カスタマイズ可能
2. Excelブックの準備
Excelブックを開き、A列へ、QRコードを作成したいLINE WORKS IDを入力します
3. VBAの作成
Excelで、Alt + F11 キーを押すとVBAエディタが開きます。
VBAエディタのメニューバーで「挿入」を選択し、「標準モジュール」をクリックして新しいモジュールを追加します。
4. コードの入力
以下のVBAコードを、さっきのモジュールにコピペします。
Sub GenerateAndSaveQRCodes()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' シート名を適宜変更
Dim baseUrl As String
baseUrl = "https://works.do/R/ti/p/{name}"
Dim i As Integer
i = 1
While ws.Cells(i, 1).Value <> ""
Dim name As String
name = ws.Cells(i, 1).Value ' A列に入力されたユーザIDの値を取得
Dim url As String
url = Replace(baseUrl, "{name}", name) ' URLを作成
Dim qrCodeUrl As String
qrCodeUrl = "https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=" & url ' QRServer APIにてQRコードへ変換
Dim imagePath As String
imagePath = "C:\QRCode\" & name & ".jpg" ' 保存先のパス、ファイル命名規則、拡張子は適宜変更可(デフォルトはCドライブ下のQRCodeフォルダ)
DownloadQRCode qrCodeUrl, imagePath
i = i + 1
Wend
End Sub
Sub DownloadQRCode(url As String, savePath As String)
Dim xmlHttp As Object
Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
xmlHttp.Open "GET", url, False
xmlHttp.send
If xmlHttp.Status = 200 Then
Dim stream As Object
Set stream = CreateObject("ADODB.Stream")
stream.Open
stream.Type = 1 ' Binary
stream.Write xmlHttp.responseBody
stream.SaveToFile savePath, 2 ' 2 = overwrite
stream.Close
End If
End Sub
5. マクロの実行許可
Excelでマクロを実行するには、セキュリティ設定でマクロの実行を許可する必要があります。Excelの「ファイル」タブから「オプション」→「セキュリティセンター」→「セキュリティセンターの設定」に進み、「マクロの設定」で「すべてのマクロを有効にする」(または「警告を表示して有効にする」)を選択します。
6. マクロの実行
VBAエディタに戻り、先ほど作成したコードモジュールを選択します。
メニューから「実行」> 「マクロの実行」> 「GenerateAndSaveQRCodes」を選択して実行します。
これでフォルダにQRコードが作成されます。
失敗する場合は、保存先のフォルダ「QRCode」がちゃんと作成されているか
保存先のパスが合っているかなど確認してください
Google Sheetを使う場合
Googleアカウントを持っていれば誰でもつかえるGoogle Sheetを使うやり方です。
ただし、QRコードは直接ローカルには保存されず、
Google Drive上に作成される「QR COdes」というフォルダに保存されるので、そこからローカルへDLしてください。
1. Google Sheetの作成
Google Sheetで新しいシートを作成し、A列にQRコードを作成したいLINE WORKS IDを入力します
2. スクリプトの作成
「拡張機能」メニューから「Google Apps Script」を開きます。
以下のスクリプトをコピーして、
function generateQRCodes() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var names = sheet.getRange('A:A').getValues(); // A列からデータを取得
var baseUrl = 'https://works.do/R/ti/p/{name}';
var folder = DriveApp.createFolder('QR Codes'); // QRコードを保存するフォルダを作成
names.forEach(function(name) {
if (name[0] !== '') {
var url = baseUrl.replace('{name}', name[0]);
var qrCodeUrl = 'https://chart.googleapis.com/chart?cht=qr&chl=' + encodeURIComponent(url) + '&chs=150x150';
var response = UrlFetchApp.fetch(qrCodeUrl);
var blob = response.getBlob();
folder.createFile(blob).setName(name[0] + '.png'); // QRコードをpngとして保存
}
});
}
Apps Scriptの「コード.gs」に貼り付けて、
Ctrl + S で保存します。
4. スクリプトの実行
上部メニューの「実行」をクリックするとスクリプトが実行されます
しばらくグルグルと処理が回ります
Googleの無料アカウントは確か最長5-6分ほどで処理がタイムアウトになるので、目安としては一度に処理できるのは50件程度かもしれません(未検証)
実行完了
と表示されたら、Google Driveの「QR Codes」というフォルダ内にQRコードが作成されていると思います。
注意点
- 初回実行時にGoogle Drive APIの利用権限の設定が必要になるかもしれません