Doc中的Google Apps脚本 - 通过list_item循环

时间:2014-07-29 15:47:20

标签: javascript google-apps-script

我有一个包含项目符号列表的Google文档,例如

  • 一个
  • 测试

我选择此列表并调用以下函数。

function TestFunction()
{
  var BullList =  DocumentApp.getActiveDocument().getSelection();

    if (BullList) 
    {
      var elements = BullList.getRangeElements();
      for (var i = 0; i < elements.length; i++) 
      {
        var element = elements[i];
        Logger.log(element.getElement().getType());
      }
    }
}

我得到以下输出:

[14-07-29 09:38:20:177 MDT] LIST_ITEM
[14-07-29 09:38:20:177 MDT] LIST_ITEM
[14-07-29 09:38:20:178 MDT] LIST_ITEM
[14-07-29 09:38:20:179 MDT] TEXT

我不明白为什么最后一项显示为TEXT对象而不是LIST_ITEM。这总是出现在选择的最后一项上,无论它是否是列表中的最后一项。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我很确定你会得到那个结果,因为你的列表的最后一项并没有被完全选中,也许只有一个空格或某些东西不在选择中。

如果部分选择了列表项的任何部分,则将其标识为文本。

下面的

演示:

enter image description here

不可见部分选择的示例:

enter image description here