有一個 Google 試算表,部分內容使用 GOOGLETRANSLATE 將中文翻譯成英文。
因為 GOOGLETRANSLATE 函式,在其他公司的 Excel 軟體會顯示錯誤。
所以,我想知道有什麼辦法可以,在匯出成xlsx時,順便移除 GOOGLETRANSLATE 函式。
目前找到的方式是用 Google Apps Script ,找到formulas.includes("GOOGLETRANSLATE"),將公式替換為其計算結果。
可是這個方式,會修改掉原本的試算表;如果新建一個試算表(SpreadsheetApp.create),要在下載後,另外手動刪除。
有沒有更好的方法?
8/20 更新:
發現複製的檔案丟到垃圾桶後,仍可以繼續用 Google Apps Script 處理
function clone(sheet) {
console.log('複製檔案')
const date = new Date().toLocaleString();
const temp = DriveApp.getFileById(sheet.getId())
.makeCopy(`${sheet.getName()} ${date}`)
.setTrashed(true)
.getId();
return SpreadsheetApp.openById(temp);
}
function action() {
const spreadSheet = clone(SpreadsheetApp.getActive());
console.log('處理檔案')
download(spreadSheet)
}