2017-10-22 4 views
1

Googleドキュメントにタグの数を印刷:私はドキュメントの冒頭に要約を構築するための方法を探していますカウントし、私のようなタグの数とgDocsの文書を持って

[open] 
[draft] 
[completed] 

: 未処理アイテム数:X 完了アイテム数:

正規表現とGoo​​gle Appsスクリプトを使用する必要がありますが、私は実際に最新のものに慣れていないと思います。

ヒント?

答えて

0

これは、開いているタグをカウントします。私はあなた自身で残りを得ることができると思います。

function countOpenTags() 
{ 
    var doc=DocumentApp.getActiveDocument(); 
    var body=doc.getBody(); 
    var text=body.getText(); 
    var opens=text.match(/\[open\]/g); 
    return opens.length; 
} 

function displayTagCount() 
{ 
    var s=Utilities.formatString('There are %s [open] tags in this document', countOpenTags()); 
    var ui=HtmlService.createHtmlOutput(s); 
    DocumentApp.getUi().showModelessDialog(ui, 'Opens') 
} 

すべてが1つのダイアログで表示されます。

function countMyTags(mode) 
{ 
    var mode=(typeof(mode)!='undefined')?mode:'open'; 
    var doc=DocumentApp.getActiveDocument(); 
    var body=doc.getBody(); 
    var text=body.getText(); 
    var tags=[]; 
    try{ 
    switch(mode) 
    { 
     case 'open': 
     tags=text.match(/\[open\]/g); 
     break; 
     case 'draft': 
     tags=text.match(/\[draft\]/g); 
     break; 
     case 'complete': 
     tags=text.match(/\[complete\]/g); 
     break; 
    } 
    return tags.length; 
    } 
    catch(e) 
    { 
    return 0; 
    } 
} 

function displayTagCount() 
{ 
    var s=Utilities.formatString('<br />[open]:%s<br />[draft]:%s<br />[complete]:%s<br /><script>function printDialog(){window.print();}</script><br /><input type="button" value="Print" onClick="printDialog();" /><br /><br /><input type="button" value="Close" onClick="google.script.host.close();" />', countMyTags(),countMyTags('draft'),countMyTags('complete')); 
    var ui=HtmlService.createHtmlOutput(s); 
    DocumentApp.getUi().showModelessDialog(ui, 'Tag Summary'); 
} 
+0

私は他のタグのための関数を作成しましたが、私はすべてのカウントを単一のウィンドウに出力することはできません。 –

+0

スクリプトの2番目のバージョン(ありがとうございました!)は、このエラーを返します。 TypeError:nullからプロパティ "length"を読み取ることができません。 (行21、ファイル "コード") 閉じる –

+0

特定のタグが見つからない場合は処理できないという問題があります。 –

関連する問題