前提・実現したいこと
領収書の自動化を試みています。
データ一覧にある名前・金額などを転記してフォーマットをもとに新しいシートをつくるところまではできました。これを最後にPDFにしてドライブに保存されるようにしたいのですが、そのやり方が分かりません。
発生している問題・エラーメッセージ
新しくコピーして作ったシートのIDなどを呼び出す方法が分からず、以下のようなメッセージが出ています。
TypeError: undefined のメソッド「getSheetId」を呼び出せません。(行 24、ファイル「コピー ~ コード」)
該当のソースコード
ここまでは問題ないと思います。
GAS
1function createReceipt() { 2 var template = SpreadsheetApp.openById('*************');//実際には入力してます 3 var sheet1 = SpreadsheetApp.getActiveSheet(); 4 5 for(var i = 2; i <= 9; i++) { 6 7 //データの作成 8 var name = sheet1.getRange(i, 2).getValue() ; //会社名 9 10 var amount = sheet1.getRange(i, 3).getValue(); //個数 11 12 //ひな型をコピー 13 var ssName = '20180620_領収書' + name + '御中'; 14 var sheet = template.copy(ssName).getSheetByName('領収書'); 15 16 //データを転記 17 sheet.getRange('A5').setValue(name); 18 sheet.getRange('H21').setValue(amount); 19
ここからが分かりません。
// シート分PDFに出力 for(var i = 2; i <= 9; i++) { // シートIDを取得 var sheetId = sheet[i].getSheetId(); // シート名を取得 var sheetName = sheet[i].getName(); // 拡張子抜きのファイル名を生成 "[A1セルの内容]_[シート名]_[タイムスタンプ]" // var baseName = "S" + String(i + 1) + "_" + name; var baseName = ssName; // PDFファイルを出力 createPDF(folderid, ssId, sheetId, baseName); } } }
試したこと
ノンプログラマがブログを見ながらコピペを重ねているだけで、プログラムを理解できていないので、できることがありません。
すみません。
補足情報(FW/ツールのバージョンなど)
シートを作った流れでPDFにまでする方法があれば教えてください。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。