我有一張幻燈片,其中包含來自作業表檔案的嵌入式圖表。我正在更新作業表的資料,然后向作業表圖表發送重繪 ,但它不起作用。當我打開幻燈片檔案時,我可以看到該檔案中的圖表已更新,但只有當我單擊“更新”按鈕時它才會重繪 :
我更新作業表資料的代碼:
var values = [[ date, value ]];
var range = sheet.getRange("A" rowIndex ":B" rowIndex);
range.setValues(values);
rowIndex ;
我要重繪 的代碼: jsonItem['slideIndex'] 是我正在處理的幻燈片的相對指標。
Deck.getSlides()[jsonItem['slideIndex']].getSheetsCharts().forEach(function(c){c.refresh();});
如您所見,我在這里使用了核選項,我正在遍歷幻燈片上的所有 SheetsCharts 并重繪 每一個,但我似乎無法使其作業。
謝謝你。
uj5u.com熱心網友回復:
在您的情況下,如何使用flash()如下?
修改后的腳本:
var values = [[ date, value ]];
var range = sheet.getRange("A" rowIndex ":B" rowIndex);
range.setValues(values);
rowIndex ;
// do something
SpreadsheetApp.flush(); // Added
// do something
Deck.getSlides()[jsonItem['slideIndex']].getSheetsCharts().forEach(function(c){c.refresh();});
示例腳本:
不幸的是,從你的問題來看,我無法想象你的整個劇本。因此,我添加了一個簡單的示例腳本,用于在電子表格更新后重繪 Google 幻燈片上的圖表。這里,考慮以下示例情況。
在 Google 電子表格的第一張作業表上創建圖表。資料如下。“A”和“B”列具有值。
h1 h2 a1 1 a2 2 a3 3 a4 4 a5 5使用電子表格的鏈接將圖表復制并粘貼到 Google 幻燈片的第一頁。
更新作業表上圖表的值,并通過腳本重繪 幻燈片上的圖表。
腳本:
// Modify the value of "B2" from 1 to 10.
SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange("B2").setValue(10);
SpreadsheetApp.flush();
// Refresh the chart.
SlidesApp.openById("###").getSlides()[0].getSheetsCharts()[0].refresh(); // Please set the Google Slides ID.
參考:
- 沖洗()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/481068.html
