Google 幻灯片:找不到新插入的表格

2024-01-02

我想知道发生了什么事。我有两个函数,当一一调用时,它们都运行良好:

function createTable() {
  var slidesPage = SlidesApp.openById('1QWRV4eQzGNNBz4SkR3WPurTL3O60oGYxQpBu63KrUoI').getSlides()[0];

  var table = slidesPage.insertTable(7, 4);
}


function changeColumnWidth() {

  var slidesPage = SlidesApp.openById('1QWRV4eQzGNNBz4SkR3WPurTL3O60oGYxQpBu63KrUoI').getSlides()[0];

  var tableId = slidesPage.getTables()[0].getObjectId();

  var requests = [{
    updateTableColumnProperties: {
      objectId: tableId,
      "columnIndices": [ 1, 3],
      "tableColumnProperties": {
        "columnWidth": {
          "magnitude": 80,
          "unit": "PT"
         }
       },
      "fields": "columnWidth"
     }
   }];

  var createSlideResponse = Slides.Presentations.batchUpdate({
    requests: requests
  }, '1QWRV4eQzGNNBz4SkR3WPurTL3O60oGYxQpBu63KrUoI');

}

但尝试将这两个功能结合起来,例如:

function combined() {
   createTable();
   changeColumnWidth();
}

我收到错误:

无效请求[0].updateTableColumnProperties:找不到对象 (SLIDES_API456304911_0)。

想知道是否insertTable方法是异步的,因此创建的表尚未准备好? 谢谢你的帮助。


这个修改怎么样?请将此视为几种解决方法之一。在我的解决方法中,我使用了saveAndClose()对于你的情况。使用这个,我想将SlidesApp和Slides API的过程分开。

修改要点:

  • 使用保存并关闭幻灯片saveAndClose()插入表格后。
  • 返回要在以下位置使用的插入表的对象 IDchangeColumnWidth().
  • At changeColumnWidth(),该表由 Slides API 使用接收到的对象 ID 进行修改。

修改后的脚本:

function combined() {
  var tableId = createTable(); // Modified
  changeColumnWidth(tableId); // Modified
}

function createTable() {
  var slide = SlidesApp.openById('1QWRV4eQzGNNBz4SkR3WPurTL3O60oGYxQpBu63KrUoI'); // Modified
  var slidesPage = slide.getSlides()[9]; // Modified
  var table = slidesPage.insertTable(7, 4);
  slide.saveAndClose(); // Added
  return table.getObjectId();
}

function changeColumnWidth(tableId) { // Modified
  // var slidesPage = SlidesApp.openById('1QWRV4eQzGNNBz4SkR3WPurTL3O60oGYxQpBu63KrUoI').getSlides()[0]; // This line is not used.
  // var tableId = slidesPage.getTables()[0].getObjectId(); // This line is not used because slidesPage.getTables().length becomes 0.

  var requests = [{
    updateTableColumnProperties: {
      objectId: tableId,
      "columnIndices": [ 1, 3],
      "tableColumnProperties": {
        "columnWidth": {
          "magnitude": 80,
          "unit": "PT"
         }
       },
      "fields": "columnWidth"
     }
   }];
  var createSlideResponse = Slides.Presentations.batchUpdate({
    requests: requests
  }, '1QWRV4eQzGNNBz4SkR3WPurTL3O60oGYxQpBu63KrUoI');
}

Note :

  • For the slide which is saved and closed by saveAndClose(), when the slide is reopened, the inserted table cannot be retrieved. When the table is tried to be retrieved using getTables() again, the length becomes 0. But at Slides API, the object ID of table can be retrieved. So I thought that the issue might be able to be solved by returning the object ID of table after the table was inserted.
    • 但我无法理解检索值的原因getTables()从重新打开的幻灯片变为“0”。对不起。

参考 :

  • 保存并关闭() https://developers.google.com/apps-script/reference/slides/presentation#saveandclose

如果此解决方法不是您想要的,我很抱歉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 幻灯片:找不到新插入的表格 的相关文章

  • 使用 JavaScript 以编程方式编辑 Google 文档

    我想做的是运行一些 JavaScript 代码 将文本输入到 Google 文档中 到目前为止 我所做的是在我的个人网页上创建一个嵌入 Google 文档的 iframe 元素 目前我想做的是使用 Google 源代码中的函数来输入文本 当
  • 使用 Google Advanced Drive 服务通过 Apps 脚本在文件夹中创建新文件

    创建新文件有四种方法 DocsList 显示为DocsList在主列表中 内置于 Apps 脚本中 DriveApp 显示为Drive在主列表中 内置于 Apps 脚本中 驱动器 API 也显示为Drive在主列表中 必须添加到 Apps
  • 使用 google.script.run 从 html 调用库函数

    我使用 Google App Script 实现库 并且使用 google script run 从库中调用函数时遇到一些困难 这是我的图书馆的代码 Code gs function ShowSideBar var html HtmlSer
  • 使用 Google Apps 脚本处理数组中输入元素中的多个文件

    我有一个表单 允许从下拉列表中选择一个项目并上传文件 项目的名称和 ID 保存在电子表格文档中 适用于一个文件 但我想上传多个文件 你能帮我修改一下脚本吗 HTML 部分如下所示 div class col md 4 col sm 6 di
  • 如何通过 Apps Script & Drive SDK 创建新的脚本文件

    尝试通过在 Apps 脚本中调用 Drive SDK 来创建包含文件的新项目 下面的内容到底会放在哪里UrlFetchApp要求 files id 9basdfbd 749a 4as9b b9d1 d64basdf803 name Code
  • 有没有办法将 Google 文档分割成多个 PDF?

    我想在 Google Scripts VBA 代码中复制我为 Word 文档编写的代码 基本上 它通过搜索我插入文档中的标签 将文档 切片 为多个 PDF 文件 目的是允许合唱团使用 forScore 管理乐谱的应用程序 在切片点插入先前注
  • 将 html 嵌入 google 工作表

    我想通过创建一个 html 元素并将其放在电子表格顶部来在电子表格顶部显示 HTML 例如 如果我通过合并 A1 G5 在工作表顶部创建了一个大单元格 是否可以在其中嵌入 html div h1 Hello World h1 div 我注意
  • getActiveRange 不返回当前选择

    这应该是一个简单的问题 但我自己无法破解 我想将活动工作表中当前选定的单元格复制到名为 data 的数组中 var sheet SpreadsheetApp getActive getActiveSheet var selection sh
  • 如何在公式中的 & 之间添加换行符以生成 QR URL

    我正在谷歌表格中创建一个电子表格 用于跟踪财产房间的库存 我使用二维码作为标签 将其放置在房产上 并将与该特定房产的相关信息相关联 我正在使用以下代码 image https chart googleapis com chart chs 2
  • 在 Google Apps 脚本中创建插件

    我已经整理了一些我想在其他 Google 工作表中访问的代码 但是 由于它使用 SpreadsheetApp getUi 因此代码必须绑定到工作表 因此 我决定创建代码作为附加组件 不幸的是 除非我打开应用程序脚本页面 否则附加组件不会出现
  • 用于向日历活动提交表单的 Google 脚本

    学校老师使用我的个人 Google 帐户创建表单并将日历发布到我的班级网站 努力让孩子 无法访问 Google Apps 尽可能快速 轻松地安排补考使用这种形式 https docs google com forms d 1 TvsZ3Wl
  • 模板化 HTML 脚本中的换行符

    如果我有一个 HTML 文件 test html p p 和一个脚本函数 var t HtmlService createTemplateFromFile test html t str test nstring var content t
  • 列出 Google 云端硬盘上特定演示文稿/文档的所有共享用户

    我们需要一份完整的列表 列出已获得 Google 云端硬盘上特定演示文稿 文档的 共享 查看权限的人员 我们有屏幕截图 但可能还不够 我们如何以编程方式检索这些信息 附加到 a 的属性File对象包括三个与用户相关的项目 Owner 一个单
  • Google Apps 脚本自动生成的库文档

    我目前正在开发一个 Google Apps 脚本库 它基本上将电子表格视为数据库对象 目前 该库有两个相同的功能 例如 Opens and creates a query object for a spreadsheet with the
  • Google App Script ContentService downloadAsFile 不起作用

    我有一个使用 Google App Script 开发的网络应用程序HtmlService并从 html 表单中 使用以下命令填充 Google 驱动器中的 Excel 工作表SpreadsheetApp 另一个部门正在打电话Content
  • 正则表达式 - 使用正则表达式提取电子邮件文档的子字符串

    我正在尝试使用正则表达式提取电子邮件文档的子字符串 我正在在线测试正则表达式 它运行得很好 在线正则表达式测试器 https regex101 com r BbWBPk 1 我有一个功能可以检查 Google Apps 脚本上的正则表达式
  • 通过嵌入式 Google Sheet 上的按钮激活脚本

    我正在尝试嵌入一个 Google 电子表格 其中包含一个我希望用户能够激活的脚本 我不希望他们能够编辑页面上的任何内容 我想我可以这样做 共享工作表并设置编辑权限 限制在我想要共享的一张纸上进行编辑 图像位于单元格上方 所以我认为这会阻止人
  • 清除内容并从另一张纸复制

    我编写了一个脚本 旨在清除 Google Sheets 电子表格的内容并复制并粘贴另一个工作表的内容 需要清除的工作表称为 NEW SHEET 要复制的工作表称为 Database 由于某种原因 该脚本目前无法运行 当我运行它时什么也没有发
  • 列出文件夹中的所有文件,包括子文件夹中的文件

    我正在尝试创建一个 Google Apps 脚本 该脚本将允许用户获取文件夹内的所有文件 包括连接到主文件夹的子文件夹内的文件 请注意 在我的代码中 我是提供folderid的人 这将是主文件夹 我已设法从文件夹中获取所有文件 但我还希望提
  • Google Apps 脚本中 ui.alert 窗口中的分割线和粗体文本

    我觉得这应该很简单 但我找不到任何相关内容 我希望我的消息在 ui alert 窗口中弹出 以粗体显示某些单词并在以下位置分割字符串 进入新行 这是我的代码 function send var ui SpreadsheetApp getUi

随机推荐

  • MVC 架构和模态对话框窗口

    我正在开发一个MVC架构的项目 它应该是一个管理一些客户的简单应用程序 MainModel MainView 和 MainController 类使主窗口显示客户表的内容并让用户插入 删除或编辑客户 我的问题是插入和编辑按钮应该显示一些对话
  • 将主键int类型更改为serial

    有没有办法在不删除表的情况下将现有主键类型从 int 更改为串行 我表里已经有很多数据了 我不想删除它 将 int 转换为序列或多或少仅意味着向值添加序列默认值 http www postgresql org docs 9 3 static
  • Kubernetes POD 参数未传递到服务,但 Docker 参数正确传递

    问题陈述 我已经成功创建了一个 Docker 镜像docker io joethecoder2 spring boot web 它已经使用命令行参数进行了测试 并且这些参数可以在 Docker 本地正常工作 我正在尝试将传递给 Docker
  • 推送视图应以透明背景显示

    我只是从一种观点推论另一种观点 在此代码之后 推送的视图将显示为透明 我之前已经用过很多次了 就这么简单 settings set settings alloc initWithNibName settings bundle nil set
  • req.body 无法作为数组读取

    我正在使用 node js 接收发布请求 请求正文在使用打印后具有此内容console log object 1 deviceType iPad Retina guid DF1121F9 FE66 4772 BE74 42936F1357F
  • 添加锚点到 RedirectToAction 结果?

    我正在尝试创建一个类似于的扩展方法MVCContrib 的 RedirectToAction 方法 http mvccontrib codeplex com SourceControl changeset view c0a43d6843a7
  • iOS Foundation:系统字体大小

    我想知道iOS应用程序tableView中的systemFontSize是否是always文本标签也一样吗 这是取决于风格 例如当我NSLog f UIFont systemFontSize 我已经14 0了这总是一样的吗 更重要的是 如何
  • 创建具有多个选项的 Python 函数的最佳方法?

    我定义了一堆自定义函数 并发现其中很多包含一些相同或相似的代码块 例如 仅包含略有不同的字符串或参数 所以像这样 def func1 a b c some identical code some similar code more iden
  • 有没有办法将 Linux 管道设置为非缓冲或行缓冲?

    我的程序正在控制 Linux 上的外部应用程序 通过管道将输入命令传递到外部应用程序 stdin 并通过管道从外部应用程序 stdout 读取输出结果 问题在于 对管道的写入是按块缓冲的 而不是按行缓冲的 因此在我的应用程序接收外部应用程序
  • 如何在 Bigquery 中查询多个 Firebase 项目?

    如何放置 Select 查询以从多个 Firebase 项目中提取数据 如何在单个查询中查询 abc 项目和 xyz 项目 目前 我正在放置两个查询来从项目 abc 和 xyz 及其数据集表中提取数据 查询abc项目 SELECT app
  • 如何使用低级 8 位标志作为条件?

    在我的键盘钩子中 每次按键都会有一个标志 表明它是否被注入 http msdn microsoft com en us library ms644967 VS 85 aspx http msdn microsoft com en us li
  • 2d std::vector 连续内存?

    考虑下面的代码 它分配了一个 2dstd vector
  • chmod 757 安全吗?

    由于我在共享主机上 我想添加一个图像托管脚本 似乎755不允许我上传图像 所以我将文件夹更改为757 chmod到757安全吗 一句话 不 用两个字来说 见鬼 不 让我们解释一下757 那就是 所有者 读写执行 对文件具有权限的组 读取 执
  • 在 MS Access 中插入具有日期范围的多条记录

    希望有人可以帮忙吗 我对 Access 2016 还很陌生 我的任务是为我们学校的早餐和课后俱乐部构建一个非常简单的预订系统 我有一个包含儿童列表的表 主键是 ChildID 另一个表 CLUBS 列出了 5 个可用的俱乐部 第三个表 BO
  • 使用 Castle.Windsor 设置 FluentValidation 时出现问题

    我有一个 asp net MVC 4 5 应用程序 使用 Castle Windsor 3 2 2 作为 DI 我第一次尝试添加 FluentValidation 版本 5 0 0 1 我创建了继承自 ValidatorFactoryBas
  • 为什么使用引用限定符 & 声明删除的赋值运算符

    据我所知 用户声明的赋值运算符与内置运算符不同 如所解释的这个 stackoverflow 答案 https stackoverflow com a 16995559 3054219 但是为什么要在已删除的运算符中添加 呢 C class
  • 如何在跑步时更改 Google 地图的语言?

    我不想反转地理编码并获取两种语言 阿拉伯语和英语 的地址 因此我想获取一种语言的地址 然后更改 API 的语言并获取另一种语言的地址 因为我找不到参数发送到地理编码器以确定语言 有什么建议么 加载 API 时可以通过附加来选择语言langu
  • c# 删除多余空格的最快方法

    将多余的空格替换为一个空格的最快方法是什么 e g from foo bar to foo bar 最快的方法 迭代字符串并在 a 中构建第二个副本StringBuilder一个字符一个字符 每组空格只复制一个空格 越容易打字Replace
  • 在 WebView 中使用 Stripe Mobile Checkout / 在 Kik 中使用 Payments

    我正在尝试实施 Stripe Checkout 以在 Kik 浏览器中接受移动支付 但不幸的是 在尝试加载 Checkout 时出现以下错误 抱歉 加载 Checkout 时出现问题 如果这种情况仍然存在 请尝试使用其他浏览器 尝试创建自定
  • Google 幻灯片:找不到新插入的表格

    我想知道发生了什么事 我有两个函数 当一一调用时 它们都运行良好 function createTable var slidesPage SlidesApp openById 1QWRV4eQzGNNBz4SkR3WPurTL3O60oGY