Gg / 使用google documen製作模板套印google spreadsheets資料並轉成PDF-修改版

修改了前一版的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的左邊鍵

 

參考

setTrashed(trashed)

JavaScript ES6 Template Literals 字串樣版

Array 原型的 forEach 有多好用? 學會高階函數之後都不想寫 JavaScript 以外的程式語言了

JS 迴圈升級的陣列 Array 方法 forEach()

補充

除了字串表示法之外,還看到 forEach( function callback(XXX, index){ } ,在callback 函式使用第2個參數-index的方法

See the Pen forEach() by 莊幸諺 (@trico109748007) on CodePen.

如果沒有設定第二個參數thisArg,或者是用箭頭函式,thisArg不會有作用,會得到window Object

如果設定第二個參數thisArg,那麼函式的this都會變成thisArg的內容,但是不影響帶入的陣列

Array.prototype.forEach()