第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將多個圖表從 Google 表格添加到 1 張 Google 幻燈片中

如何將多個圖表從 Google 表格添加到 1 張 Google 幻燈片中

收到一只叮咚 2023-07-14 09:38:07
我正在嘗試使用應(yīng)用程序腳本從指定的谷歌工作表將多個圖表添加到谷歌幻燈片中。因此,我的 1 張幻燈片將包含 2 個圖表,如果我需要插入 2 個以上圖表,幻燈片應(yīng)自動復(fù)制自身,然后可以插入更多圖表。但是,我無法插入正確的圖表,并且當(dāng)它復(fù)制幻燈片時,它似乎一遍又一遍地插入相同的圖表。然而,我遇到了一些需要幫助的問題,我無法自己找到答案。這是代碼,以及我遇到的問題如下:function importpieCharts() {? var dataSpreadsheetUrl = "https://docs.google.com/spreadsheets/d/1tPc0KU2uYuN4rO32tW-s6lql_IW57kbDUdSR8ZSkVXY/edit#gid=0"; //make sure this includes the '/edit at the end? var ss = SpreadsheetApp.openByUrl(dataSpreadsheetUrl);? var deck = SlidesApp.getActivePresentation();? var deckTitle = SlidesApp.getActivePresentation().getName();? var sheet = ss.getSheetByName(deckTitle);? var charts = sheet.getCharts();? var slides = deck.getSlides();? var pieChartTemplate = slides[1];? ??? ?charts.forEach(function(chart){? ?if(chart.modify().getChartType() == "PIE"){? ?pieChartTemplate.duplicate();? ?var updateSlide = deck.getSlides()[1];? ?var pageElements = updateSlide.getPageElements();? ?? ?pageElements.forEach(function(pageElement){? ?if(pageElement.getPageElementType() == "SHAPE"){? ?if(pageElement.asShape().getShapeType() == "RECTANGLE"){? ? ??? ? ?pageElement.asShape().replaceWithSheetsChart(chart);? ? ?}}});? ? ?var presLength = deck.getSlides().length;? ? ?updateSlide.move(presLength-2);? ? ?}});? ? }每當(dāng)我運行代碼時,我都無法將 2 個或更多獨特的圖表插入到 1 張幻燈片中。當(dāng)代碼運行時,它會創(chuàng)建不必要的重復(fù)項,在這種特殊情況下,幻燈片只需要復(fù)制一次。復(fù)制后,代碼無法識別要插入谷歌幻燈片的正確圖表。請幫忙解決這個問題,或者請給我指出正確的方向!非常感謝任何幫助:)
查看完整描述

1 回答

?
寶慕林4294392

TA貢獻2021條經(jīng)驗 獲得超8個贊

我相信你的目標(biāo)如下。

  • 您想要替換{{placeholder for chart}}為 Google 幻燈片中的電子表格圖表。

  • 在您的模板幻燈片中,有 2 {{placeholder for chart}}。此外,Google 電子表格中還有一些圖表。

  • 您想要{{placeholder for chart}}按圖表順序替換每個電子表格圖表。

修改點:

  • 在您的腳本中,使用了 2 個循環(huán)。在內(nèi)循環(huán)處,chart用1來進行替換。這樣,每張幻燈片都有相同的 2 個圖表。我認為這可能是您問題的原因。

  • 為了{{placeholder for chart}}按照圖表的順序替換每個電子表格圖表,在內(nèi)循環(huán)處只需要替換一張圖表。為此,我想建議添加一個檢查復(fù)制模板幻燈片的條件。

當(dāng)以上幾點反映到您的腳本中時,它會變成如下所示。

修改后的腳本:

function importpieCharts() {

  var dataSpreadsheetUrl = "https://docs.google.com/spreadsheets/d/1tPc0KU2uYuN4rO32tW-s6lql_IW57kbDUdSR8ZSkVXY/edit#gid=0"; //make sure this includes the '/edit at the end

  var ss = SpreadsheetApp.openByUrl(dataSpreadsheetUrl);

  var deckTitle = SlidesApp.getActivePresentation().getName();

  var sheet = ss.getSheetByName(deckTitle);

  var charts = sheet.getCharts();

  var slides = deck.getSlides();

  var pieChartTemplate = slides[1];

  

  // I modified below script.

  var copy = true;

  var updateSlide;

  charts.forEach(function(chart, idx, a) {

    if(chart.modify().getChartType() == "PIE"){

      if (copy) {

        updateSlide = pieChartTemplate.duplicate();

        var presLength = deck.getSlides().length;

        updateSlide.move(presLength - 2);

        copy = false;

      }

      var pageElements = updateSlide.getPageElements();

      for (var i = 0; i < pageElements.length; i++) {

        var pageElement = pageElements[i];

        if (pageElement.getPageElementType() == "SHAPE" && pageElement.asShape().getShapeType() == "RECTANGLE") {

          pageElement.asShape().replaceWithSheetsChart(chart);

          break;

        }

      }

      if (!pageElements.some(function(p) {return p.getPageElementType() == "SHAPE" && p.asShape().getShapeType() == "RECTANGLE"})) {

        copy = true;

      }

      

      // When the following script is used, the template sheet is removed at the last loop.

//      if (idx == a.length - 1) deck.getSlides().pop().remove();

    

    }

  });

}

在此修改后的腳本中,當(dāng)腳本完成時,模板幻燈片位于最后一張幻燈片。如果你想刪除它,請if (idx == a.length - 1) deck.getSlides().pop().remove();在上面的腳本中使用。

筆記:

作為附加信息,在上面的腳本中,whenupdateSlide.move(presLength - 2)修改為updateSlide.move(presLength),當(dāng)腳本完成時,模板幻燈片是 Google Slides 的第二頁。


查看完整回答
反對 回復(fù) 2023-07-14
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號