この2つのスプレッドシートを準備した上で、参加者ごとに領収書を作成するスクリプトを下記のように作成しました。これは、「領収書リスト」のコンテナバインドスクリプトとして作成してください。
function createReceipt() { var template = SpreadsheetApp.openById('-----スプレッドシートID-----'); var sheet1 = SpreadsheetApp.getActiveSheet(); for(var i = 2; i <= 4; i++) { //データの作成 var name = sheet1.getRange(i, 1).getValue() + ' ' + sheet1.getRange(i, 2).getValue(); //姓 名 var description = "但 " + sheet1.getRange(i, 3).getValues() + " として上記領収いたしました。"; //品目 var amount = sheet1.getRange(i, 4).getValue(); //金額 //ひな型をコピー var ssName = '領収書(' + name + ')'; var sheet = template.copy(ssName).getSheetByName('領収書'); //データを転記 sheet.getRange('A4').setValue(name + ' 様'); sheet.getRange('B9').setValue(description); sheet.getRange('C7').setValue(amount); } }
関数「createReceipt」を実行すると、Googleドライブのマイフォルダの中に、3人分のスプレッドシートが作成されます(図3)。
スプレッドシートの1つを開いてみると、「領収書リスト」から必要事項が転記されていることを確認できます(図4)。
Copyright © ITmedia, Inc. All Rights Reserved.