Google Apps脚本:getCursor();错误

问题描述 投票:0回答:2

我在We're sorry, a server error occurred. Please wait a bit a try again线上得到错误getCursor()

这是代码。这很简单。

 function onOpen() {
      DocumentApp.getUi() // Or DocumentApp or FormApp.
          .createMenu('Checkbox')
          .addItem('Insert Checkbox', 'insertCheckbox')
          .addToUi();
    }

    function insertCheckbox() {         
     var cursor = DocumentApp.getActiveDocument().getCursor(); // CODE BREAKS HERE


     if (cursor) {
       // Attempt to insert text at the cursor position. If the insertion returns null, the cursor's
       // containing element doesn't allow insertions, so show the user an error message.
       var element = cursor.insertText('ಠ‿ಠ');
       if (element) {
         element.setBold(true);
       } else {
         DocumentApp.getUi().alert('Cannot insert text here.');
       }
     } else {
       DocumentApp.getUi().alert('Cannot find a cursor.');
     }
    }

有什么想法吗?

提前致谢。

google-apps-script google-docs
2个回答
0
投票

根据上面的评论,这发生了,因为我的文档中有一个标题。谷歌已经解决了这个问题,请参阅https://code.google.com/p/google-apps-script-issues/issues/detail?id=4831


0
投票

更好,如果你不能使用光标,因为它不稳定 - 谷歌触摸他想要的地方;-)

如果你使用find / replace架构 - 那就更好了。示例:在文档中:

blablabla
blabla
Data:
blabla

脚本:

function replaceDate(){
 var body = DocumentApp.getActiveDocument().getBody();
 var d = new Date();
  var pattern = 'Date:';
  var yesterdayDate = Utilities.formatDate(new Date(d.getTime()-1*(24*3600*1000)), "GMT", "dd/MM/yyy"); 
 var todayDate = Utilities.formatDate(d, "GMT", "dd-MM-yyy"); 
 body.replaceText(pattern,todayDate) ;
}

此脚本将文本(数据:) - >替换为今天的日期(06-09-2018)

© www.soinside.com 2019 - 2024. All rights reserved.