修改了前一版的Gg / 使用google documen製作模板套印google spreadsheets資料並轉成PDF
1.移除google Document檔案
在程式中從樣板另存的google Document檔案
最後的程序是使用 removeFile() 來刪除
但是這個方法其實無法真正刪除,而且會在根目錄自動產生副本
之前的處理方式是重新命名,並移到”刪除”資料夾內
後來,在網路上看到一個教學如何透過GAS刪除google雲端資料的影片
本來想說這有什麼好示範
結果出乎意料
這個影片是用 setTrashed(true)
這樣會將檔案移到垃圾桶,從實際效果而言,確實是刪除檔案了
2.程式碼中字串表示法
是從這個示範如何在文件中套用試算表資料的影片中學到的用法
原來版本其實沒有重新命名
const tempFile = docFile.makeCopy(tempFolder); //複製暫存資料夾裡的檔案
如果要將複製的副本重新命名,我之前的方法會是用串接符號一個一個串起來
const tempFile = docFile.makeCopy(firstName+"-"+lastName,tempFolder); //複製暫存資料夾裡的檔案
使用ES6 的方式,修改後的版本會比較直觀,使用兩個 ` 包住,以及在 ${ } 嵌入變數
const tempFile = docFile.makeCopy(`${firstName}-${lastName}`,tempFolder); //複製暫存資料夾裡的檔案
要注意的是 ` 是 backtick 重音符或者是反引號,在鍵盤的左上,數字1的左邊鍵
參考
JavaScript ES6 Template Literals 字串樣版
Array 原型的 forEach 有多好用? 學會高階函數之後都不想寫 JavaScript 以外的程式語言了
補充
除了字串表示法之外,還看到 forEach( function callback(XXX, index){ } ,在callback 函式使用第2個參數-index的方法
See the Pen forEach() by 莊幸諺 (@trico109748007) on CodePen.
如果沒有設定第二個參數thisArg,或者是用箭頭函式,thisArg不會有作用,會得到window Object
如果設定第二個參數thisArg,那麼函式的this都會變成thisArg的內容,但是不影響帶入的陣列