前提・実現したいこと
google スプレッドシートで作成したテンプレートファイルをコピーして名前をつけて保存し、
保存したファイルを開くということを、GASで実現したいと思っています。
名前をつけて保存までは確認できていますが、
作成したファイルを開く際に、以下のエラーになります。
ただ、1度だけ実行されましたが、再現性がなく再度同じエラーが出るようになりました。
発生している問題・エラーメッセージ
You do not have permission to call SpreadsheetApp.open. Required permissions: https://www.googleapis.com/auth/spreadsheets
1function myFunction(){ 2//スプレッドシートAppを呼び出す 3var ss = SpreadsheetApp.getActiveSpreadsheet(); 4//アクティブシートを取得する 5var sht = ss.getActiveSheet(); 6 7// テンプレートファイルから名前をつけてコピーを保存 8var templateFile = DriveApp.getFileById('XXXXXXXXXXXXXXXX'); 9// 出力フォルダ 10var OutputFolder = DriveApp.getFolderById('ZZZZZZZZZZZZZZZZZZZZ'); 11// 名前を取得 12var name = sht.getRange('C3').getValue(); 13// ナンバーを取得 14var no = sht.getRange('E5').getValue(); 15var OutputFileName = (name)+(no) +'_'+Utilities.formatDate(new Date(), 'JST', 'yyMMDD') 16templateFile.makeCopy(OutputFileName, OutputFolder); 17var file = getFile(OutputFolder,OutputFileName); 18var spreadsheet = SpreadsheetApp.open(file); 19}
試したこと
var file = getFile(OutputFolder,OutputFileName);
var spreadsheet = SpreadsheetApp.open(file);
をコメントアウトした場合は、エラーは出なくなります。
また、エラーメッセージが出てもファイルは生成できています。