是否可以通过 Google Apps 脚本将 Google 文档中的书签插入到 Table Cell/Table/Text 中?

Is it possible to insert a Bookmark in Google Docs to a Table Cell/Table/Text via Google Apps Script?

是否可以使用 Google Apps 脚本在 table 单元格或 Google 文档中的文本中插入书签,例如指定 table 单元格?从文档中我了解到您需要绑定到光标的绝对位置。如果我想在指定的 table 处自动设置书签怎么办?那不可能吗?这里是文档的 URL: https://developers.google.com/apps-script/reference/document/bookmark

如果可以,是否可以使用 Google Apps 脚本 link 带有 table 单元格的插入书签?

要在不使用光标的情况下添加书签,您可以通过 Position class 来完成。由于getCursorreturnsPosition,我们需要找到其他returns相同的方法,即newPosition只需要元素和偏移量(如果需要的话) ).请参阅下面的代码:

样本:

脚本:

function myFunction() {
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  // find the text element
  var textElement = body.findText("<HERE>").getElement();
  // create position using the element
  var position = doc.newPosition(textElement, 0)
  // addBookmark using the created position
  doc.addBookmark(position);
}

输出:

注:

  • 对于其他对象,只要能拿到元素并用它来获取它们的位置,应该是可以的。

参考: