问题
I have a Google Slides presentation that has some linked cells/table to data in Google Sheets. Currently, I have to manually click each linked cell/table to update values. I need a script for Google Slides that would auto-update / batch-update / refresh these links, so that the values/tables get auto-updated. Is that possible?
回答1:
Both yes and no.
Charts
Yes! those can be batch updated:
function onOpen() {
SlidesApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Update Charts')
.addItem("Update now !!!!!", 'refreshCharts').addToUi();
}
function refreshCharts(){
var gotSlides = SlidesApp.getActivePresentation().getSlides();
for (var i = 0; i < gotSlides.length; i++) {
var slide = gotSlides[i];
var sheetsCharts = slide.getSheetsCharts();
for (var k = 0; k < sheetsCharts.length; k++) {
var shChart = sheetsCharts[k];
shChart.refresh();
}
}
}
Source: https://stackoverflow.com/a/48254442/
Shapes/Tables
No: https://issuetracker.google.com/issues/64027131
Update From Google 24/5/2019
https://gsuiteupdates.googleblog.com/2019/05/bulk-update-docs-slides.html
回答2:
Has anyone gotten this to work?
function refreshCharts(){
var gotSlides = SlidesApp.getActivePresentation().getSlides();
for (var i = 0; i < gotSlides.length; i++) {
var slide = gotSlides[i];
var sheetsCharts = slide.getSheetsCharts();
for (var k = 0; k < sheetsCharts.length; k++) {
var shChart = sheetsCharts[k];
shChart.refresh();
}
}
}
I just get this error message " Unable to refresh chart. Please verify that the chart is a valid chart in Google Sheets."
来源:https://stackoverflow.com/questions/48897088/google-slides-auto-update-links-tables-linked-from-google-sheet