2

I have a Google Slides file. The file is a series of slides, some of which are linked from other Google Slides files. How can I update all linked slides in the file at once?

When I click on "Update" on one slide, it only updates the current slide:

enter image description here

Reloading the entire file does not update linked slides.

1

3 Answers 3

1

Apparently, this function is not available.

Here is the issue tracker : https://issuetracker.google.com/issues/71955321 I suggest you to go and star it!

4

You can use Tools - Linked objects menu to open sidebar and update all objects using Update all button:

enter image description here

Source: https://workspaceupdates.googleblog.com/2019/05/bulk-update-docs-slides.html

1

It seems some of required script functions are defined. Namely, "linked slides" and "linked charts in slides" can be updated via script. ("link table update via script" support is still missing)

You may use a script like the one below, to add two menu items to your google slides:

  • Update Current Slide: If the slide itself is linked, that is updated. If there are any linked charts on the current slide, those are all updated.
  • Update All Slides: Perform the updates on all slides.

Script is below:

function onOpen() {
    var ui = SlidesApp.getUi();
    ui.createMenu("MyMenu")
        .addItem("Update All Slides", "updateAllSlides")
        .addItem("Update Current Slide", "updateCurrentSlide")
        .addToUi();
}

function updateSlide(slide) {
    slide.refreshSlide();
    var sheetCharts = slide.getSheetsCharts();
    for (var i = 0; i < sheetCharts.length; i++) {
        var sheetChart = sheetCharts[i];
        sheetChart.refresh();
    }
}

function updateAllSlides() {
    var currentPresentation = SlidesApp.getActivePresentation();
    var slides = currentPresentation.getSlides();
    for (var i = 0; i < slides.length; i++) {
        var slide = slides[i];
        updateSlide(slide);
    }
}

function updateCurrentSlide() {
    var currentPresentation = SlidesApp.getActivePresentation();
    var selection = currentPresentation.getSelection();
    var currentPage = selection.getCurrentPage();
    var currentSlide = currentPage.asSlide();
    updateSlide(currentSlide);
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.