- 公開日:
スプレッドシートで差し込み印刷を行う方法
文章が決まっているメッセージカードや請求書などを作成する際には、宛名だけを自動入力できる「差し込み印刷」を行うことで、大幅に作業効率を上げることができます。
この記事では、スプレッドシートで作成したリストをGoogle ドキュメントへ差し込み印刷する方法をご紹介します。
文書や資料を大量に作成しなければいけない場合に、ぜひご活用ください。
スプレッドシートで差し込み印刷を行う方法
スプレッドシートで作成したリストを基にして、Google ドキュメントに差し込み印刷を行う方法をご紹介します。

まず、あらかじめGoogle ドキュメントに文書テンプレートを作成しておきましょう。
データを差し込みたい位置には、「顧客」「自社名」「担当者」のように、「」で囲んで分かりやすいテキストを入力しておきます。
また、データを差し込む際に使用するコードにGoogle ドキュメントのIDが必要となるため、事前に取得しておきます。
Google ドキュメントのURLから「document/d/」と「/edit」の間に記載されている部分を「Ctrl + C」でコピーします。

次に、スプレッドシートに差し込みするデータを作成します。
新規のスプレッドシートを開き、A1セルを基準にして一行目に見出し(例:顧客、自社名、担当者)を作成します。
見出しには、先ほどGoogle ドキュメントに「」で囲んで挿入したテキストと同じものを入力してください。

見出し行の下に差し込みたいデータを入力します。

Google ドキュメントに差し込むデータを作成できました。
次に、データを差し込むためのコードを入力します。
①「拡張機能」タブ、②「Apps Script」の順に選択します。

自動的に新しいタブが開き、「Apps Script」が画面に表示されました。
①以下のコードをコピーして貼り付けます。
function myFunction() {
var docTemplate = "コピーしたIDを貼り付ける"; // Google ドキュメントのID
var docName = "差し込み完了"; //差し込み後のドキュメントタイトル
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var rows = sheet.getDataRange().getValues();
rows.forEach(function(row, index){
if(index === 0) return; // 最初の行はヘッダーなのでスキップ
var docId = DriveApp.getFileById(docTemplate).makeCopy(docName + '_' + index).getId();
var doc = DocumentApp.openById(docId);
var body = doc.getBody();
body.replaceText('「顧客」', row[0]); // 例:1列目のデータで「顧客」を差し替え
body.replaceText('「自社名」', row[1]);
body.replaceText('「担当者」', row[2]);
doc.saveAndClose();
});
}
コードの「コピーしたIDを貼り付ける」は、先ほどGoogle ドキュメントのURLからコピーしたIDに置き換えてください。
また、「差し込み完了」はデータ差し込み後のGoogle ドキュメントタイトルです。任意のものに変更して構いません。
そして「('「顧客」', row[0])」では、差し込む位置とデータを指定しています。
「顧客」のようにGoogle ドキュメントのデータ差し込み位置を入力し、「row[0]」にはA列を0として、スプレッドシートのどの列のデータを差し込むかを指定します。
それぞれご自身のデータに合わせて、コードを編集してください。
コードを正しいものに編集できたら、②「プロジェクトを保存」ボタンを押します。

コードを保存できました。「実行」ボタンを押します。

この際、「承認が必要です」ダイアログボックスが表示された場合には、権限の設定を行う必要があります。
「権限を確認」ボタンを押します。

ログイン画面が表示されました。
任意のGoogle アカウントを選択します。

画面に「このアプリは Google で確認されていません」と表示されました。
「詳細」を選択します。

「(安全ではないページ)に移動」を選択します。

アクセス権限のリクエスト画面が表示されます。
内容を確認し、画面をスクロールします。

「許可」ボタンを押します。
以上の操作で権限の設定を変更できました。改めて先ほどの「Apps Script」に戻り、コードを実行します。

「Apps Script」に戻りました。
再度、「実行」ボタンを押します。

コードの下に「実行ログ」が表示され、「実行完了」と記載されている場合、データの差し込みが行われました。
次に、正しくデータを差し込めているか確認し、印刷を行います。

Googleドライブを開きます。
①「マイドライブ」を選択し、データ差し込み後のGoogle ドキュメント(例:差し込み完了_1、_2、_3、_4)が作成されていることを確認してください。
②データ差し込み後のGoogle ドキュメントの1つ(例:差し込み完了_1)を開きます。

Google ドキュメントが開きました。指定した位置に正しいデータが差し込まれていることをご確認ください。
それでは、印刷を行います。画面左上の「印刷」ボタンを押します。

「印刷」が表示されました。
①「送信先」のプルダウンから印刷に使用するプリンターを選択し、②「カラー」で印刷のカラー設定を指定します。③「詳細設定」を選択します。

①用紙サイズなど、その他の印刷設定も変更します。②設定が完了したら、「印刷」ボタンを押します。

Google ドキュメントが印刷されました。
その他のGoogle ドキュメントも正しくデータが差し込まれていることを確認し、同様の操作で印刷を行います。
以上でスプレッドシートのデータをGoogle ドキュメントに差し込み印刷することができました。