• 公開日:

スプレッドシートで差し込み印刷を行う方法

文章が決まっているメッセージカードや請求書などを作成する際には、宛名だけを自動入力できる「差し込み印刷」を行うことで、大幅に作業効率を上げることができます。

この記事では、スプレッドシートで作成したリストをGoogle ドキュメントへ差し込み印刷する方法をご紹介します。

文書や資料を大量に作成しなければいけない場合に、ぜひご活用ください。

スプレッドシートで差し込み印刷を行う方法

スプレッドシートで作成したリストを基にして、Google ドキュメントに差し込み印刷を行う方法をご紹介します。

Googleドキュメントに文書テンプレートを作成しておく

まず、あらかじめGoogle ドキュメントに文書テンプレートを作成しておきましょう。

データを差し込みたい位置には、「顧客」「自社名」「担当者」のように、「」で囲んで分かりやすいテキストを入力しておきます。

また、データを差し込む際に使用するコードにGoogle ドキュメントのIDが必要となるため、事前に取得しておきます。

Google ドキュメントのURLから「document/d/」と「/edit」の間に記載されている部分を「Ctrl + C」でコピーします。

見出しを入力する

次に、スプレッドシートに差し込みするデータを作成します。

新規のスプレッドシートを開きA1セルを基準にして一行目に見出し(例:顧客、自社名、担当者)を作成します。

見出しには、先ほどGoogle ドキュメントに「」で囲んで挿入したテキストと同じものを入力してください。

リストを入力する

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

Apps Scriptを選択する

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 ドキュメントに差し込み印刷することができました。