セル内に入力されたIDを読み込んで、新規ファイルを作成する仕組みを作っております。
スクリプトに直接IDを書かず、セルのIDを参照したいです。
IDを直接スクリプトに入力すると成功しますが、
セルに入力されたIDを参照するとエラーが出てしまいます。
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
javascript
1const q364673 = () => { 2 const templateFileInput = "シート1!H4"; 3 const outputFoldelInput = "シート1!I4"; 4 const newFileNameSuffixInput = "シート1!G4"; 5 const spreadsheet = SpreadsheetApp.getActive(); 6 const templateFile = DriveApp.getFileById(spreadsheet.getRange(templateFileInput).getValue()); 7 const outputFolder = DriveApp.getFolderById(spreadsheet.getRange(outputFoldelInput).getValue()); 8 const newFileNameSuffix = spreadsheet.getRange(newFileNameSuffixInput).getValue(); 9 const newFileName = `${templateFile.getName().replace("名前1","")}${newFileNameSuffix}`; 10 templateFile.makeCopy(newFileName,outputFolder); 11}
投稿2021/10/16 09:13
総合スコア12705
0
DriveApp.getFileById
の引数はファイルのIDで、返値はファイルオブジェクト
DriveApp.getFolderById
の引数はフォルダーのIDで、返値はフォルダーオブジェクト
ですから、まったく誤ったコードです。
スプレッドシートから値を取得したいなら、
- スプレッドシートを取得する
- スプレッドシートからシートを取得する
- シートからセルのレンジを取得する
- セルのレンジから値を取得する
という手続きが必要です。
投稿2021/10/16 04:43
編集2021/10/16 04:59総合スコア8402
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/17 11:05