iT邦幫忙

0

Google 試算表,如何在匯出成xlsx時,順便移除特定函式

YC 2024-08-19 12:00:38474 瀏覽
  • 分享至 

  • xImage

有一個 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)
}
看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2024-08-19 12:59:44 檢舉
找到那格,然後貼上值,最後用匯出的。
targetRange.copyTo(targetRange, {contentsOnly:true});
YC iT邦好手 1 級 ‧ 2024-08-19 14:49:48 檢舉
可是,我想保留原本的試算表
froce iT邦大師 1 級 ‧ 2024-08-19 15:57:17 檢舉
你都要用到app script了,可以做到匯出後把暫存表刪掉吧?
要不然保留公式就保留不了值
froce iT邦大師 1 級 ‧ 2024-08-21 08:04:29 檢舉
> 發現複製的檔案丟到垃圾桶後,仍可以繼續用 Google Apps Script 處理

因為google drive有回收桶機制啊,進垃圾桶後30日才會真的刪掉。
但進垃圾桶後在你的資料夾就不會看到了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答