0

如何使用App脚本查找Google文档是否为空白?我试过这个使用Google脚本查找Google文档是否空白

function myFunction() 
{ 
    var body = DocumentApp.getActiveDocument().getBody(); 
    var para = body.getParagraphs(); 
    var count = 0; 
    for (i = 0; i < para.length; i++) 
    { 
    if (para[i].getText() != "") 
    count++; 
    } 
    if(count=0) 
    Logger.log("Empty"); 
    else 
    Logger.log("NOT EMPTY") 
} 

我相信,只有当文档只有文本内容时,它才能正常工作。我很想知道是否有任何方法可以查找文档是否为空。

回答

1

一个文档总是至少有一个段落元素,所以你不能真正依靠零计数返回。你可以检查身体中元素的长度,然后触发一些更多的测试来真正检查空白。

function blankDoc() { 
    var body = DocumentApp.getActiveDocument().getBody(); 

    // Find the number of children in the body 
    Logger.log(body.getNumChildren()); 

    for(var i = 0; i<body.getNumChildren();i++) { 
    Logger.log(body.getChild(i).getType()); 

    // Test for text in the paragraph 
    if(body.getChild(i).getType() == DocumentApp.ElementType.PARAGRAPH) { 

     // get the text, check for a 0 length 
     var para = body.getChild(i).asParagraph().getText(); 
     Logger.log(para.length); 
     // use another if block to do something... 
    } 
    } 
    // check for images 
    var imgs = body.getImages(); 

    if(imgs.length > 0) { 
    Logger.log("There's an image"); 
    } 
} 

它并不完美,但它让你更接近。请通过documentation了解要在文档的Body中检查哪些元素,并从那里添加。

+0

谢谢你的想法,尝试过这个'function blankDoc() {body} {document.getActiveDocument()。getBody(); var blankDoc; var child = body.getNumChildren();var para = body.getChild(0).asParagraph()。getText(); if(child == 1 && para.length == 0) { blankDoc = true; } else { blankDoc = false; } return blankDoc; }'它的工作@ brian –

+0

太棒了。如果你想关闭它,你可以点击左边的绿色复选标记。 – Brian

相关问题