Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何使用应用程序脚本将Google Sheets内容粘贴到Google幻灯片中?_Google Apps Script_Google Sheets_Google Slides Api_Google Slides - Fatal编程技术网

Google apps script 如何使用应用程序脚本将Google Sheets内容粘贴到Google幻灯片中?

Google apps script 如何使用应用程序脚本将Google Sheets内容粘贴到Google幻灯片中?,google-apps-script,google-sheets,google-slides-api,google-slides,Google Apps Script,Google Sheets,Google Slides Api,Google Slides,我现在搜索了三天,找不到一种方法可以将谷歌表单范围放入幻灯片中 var range = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3'); var slidesPage = SlidesApp.openById(presentationId).getSlides()[0]; slidesPage.insertTable(range); 似乎只有从另一张幻灯片复制一张表并将其粘贴到页面中才有可能。为什么不能将电子表格中

我现在搜索了三天,找不到一种方法可以将谷歌表单范围放入幻灯片中

var range = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3');

var slidesPage = SlidesApp.openById(presentationId).getSlides()[0];

slidesPage.insertTable(range);
似乎只有从另一张幻灯片复制一张表并将其粘贴到页面中才有可能。为什么不能将电子表格中的一个范围粘贴到幻灯片中?。至少可以手动操作


感谢您的帮助。

不幸的是,电子表格的范围还不能直接放在幻灯片上(至少现在是这样)。那么这个变通方法呢?此示例脚本的流程如下所示

  • 从电子表格中检索值
  • 根据检索到的值的行和列为幻灯片创建表
  • 将值放入创建的表中
  • 示例脚本: 参考资料:

    非常感谢您的回复。我以前试过,但这样做,格式不会导入到幻灯片表:,@Andy Weberson,很抱歉给您带来不便。我注意到我误解了你的问题。我真的很抱歉。我更新了我的答案。你能确认一下吗?如果这仍然不是你想要的,我很抱歉。@tehhowch谢谢你的编辑。很抱歉我的技术很差。非常感谢你的工作!这正是我想要的。@Andy Webersson欢迎您。我很高兴你的问题解决了。也谢谢你。
    var values = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3').getValues();
    var slidesPage = SlidesApp.openById(presentationId).getSlides()[0];
    var table = slidesPage.insertTable(rows, columns);
    var rows = values.length;
    var columns = values[0].length;
    for (var r = 0; r < rows; r++) {
      for (var c = 0; c < columns; c++) {
        table.getCell(r, c).getText().setText(values[r][c]);
      }
    }
    
    var range = SpreadsheetApp.getActive().getActiveSheet().getRange('A1:B3');
    var values = range.getDisplayValues();
    var horizontalAlignments = range.getHorizontalAlignments()
    var backgrounds = range.getBackgrounds();
    var fontWeights = range.getFontWeights();
    var slidesPage = SlidesApp.openById(presentationId).getSlides()[0];
    var rows = values.length;
    var columns = values[0].length;
    var table = slidesPage.insertTable(rows, columns);
    for (var r = 0; r < rows; r++) {
      for (var c = 0; c < columns; c++) {
        var cell = table.getCell(r, c);
        cell.getText().setText(values[r][c]);
        cell.getFill().setSolidFill(backgrounds[r][c]);
        cell.getText().getTextStyle().setBold(fontWeights[r][c] == "bold" ? true : false);
        var alignment;
        switch(horizontalAlignments[r][c]) {
          case "general-left":
            alignment = SlidesApp.ParagraphAlignment.START;
            break;
          case "general-right":
            alignment = SlidesApp.ParagraphAlignment.END;
            break;
          case "center":
            alignment = SlidesApp.ParagraphAlignment.CENTER;
            break;
        }
        cell.getText().getParagraphStyle().setParagraphAlignment(alignment);
      }
    }