0

这是我的目标:在 Google 文档中,我希望能够运行 Google 脚本来填充文档的一部分,其中包含来自几个特定命名的 Google 日历的即将发生的事件。

这可能吗?

  1. 我可以在文档中运行脚本吗?从按钮或菜单项?我还没有找到有关如何执行此操作的文档。

  2. 在脚本中,我可以将文档的特定部分定位为新内容吗?每个元素都有一个 ID,或者我可以向目标元素添加自定义属性吗?

谢谢。

编辑:

我已经解决了 #2 并让一切按照我的意愿运行。通过 Google 脚本编辑器,我可以定位特定文档并将所需内容推送到所需位置。

剩下的就是把它挂到任何文档中,这样我就可以从文档中运行脚本了。

编辑:

对于 #1,答案似乎是 Google 文档无法托管脚本。但我可以制作一个通用脚本,然后我可以打开和操作我的任何文档。

4

2 回答 2

1

您需要它从文档中运行吗?您正在寻找即将发生的事件的列表?为什么不把它作为一个网络应用程序呢?您可以将它与 HTML 模板文件配对,并在使用事件构建字符串后使用HTMLService生成最终结果。

于 2012-11-08T23:42:15.740 回答
0

对于 #2,我搜索文档中的表格,在表格的第一个单元格中查找特定文本。所以这个例程让我得到了我需要更新的表:

var targetFirstCellText = 'Date';

function findTableInDoc(docId){
  var doc = DocumentApp.openById(docId);
  var tables = doc.getTables();
  var table = null;
  var found = false;
  for(var t=0;!found && t<tables.length;t++){
    table = tables[t];
    var firstCellText = table.getCell(0,0).getText();
    if(firstCellText==targetFirstCellText){
      found = true;
    }
  }
  return table;
}

然后,在我开始添加新行之前,我运行它。(可以通过其他方式完成……这既快速又简单。)

while(table.getNumRows()>1){
  table.getRow(1).removeFromParent();
}
于 2012-10-14T04:15:48.347 回答