楽をして早く帰ろう! GASで面倒くさい請求書、見積書などを自動化する方法とは働く価値を上げる“VBA/GAS術”(6)(2/3 ページ)

» 2018年02月05日 05時00分 公開
[高橋宣成プランノーツ]

領収書作成スクリプト

 この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)。

図3 GASで作成したスプレッドシート

 スプレッドシートの1つを開いてみると、「領収書リスト」から必要事項が転記されていることを確認できます(図4)。

図4 作成した領収書のスプレッドシート

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。