2017-07-10 8 views
-4

本当に助けが必要です。 テーブル内の個々のセルをドキュメントのデータとリンクするにはどうすればよいですか? テーブルには計算があり、結果をGoogleドキュメントに自動更新で転送する必要があります。たとえば、Excelの「特別な挿入リンク」。 これはGoogleドキュメントでもできますか?スプレッドシートでGoogleドキュメントをリンク

答えて

1

私はまだGoogle Docsについてもっと学んでいるので、もっと良い方法があります。しかし、ここでは、Googleのドキュメント内のすべてのテーブルの子インデックス、行インデックス、セルインデックスを識別するのに役立つ関数があります。 2番目の関数は、スプレッドシートからデータを取り出し、その子インデックス、行インデックス、セルインデックスに入れるための出発点になります。

function findMyTables() 
{ 
    var doc=DocumentApp.getActiveDocument(); 
    var body=doc.getBody(); 
    var br='<br />'; 
    var s=''; 
    if(body) 
    { 
    var numChildren=body.getNumChildren(); 
    for(var i=0;i<numChildren;i++) 
    { 
     var child=body.getChild(i); 
     if(child.getType()==DocumentApp.ElementType.TABLE) 
     { 
     s+=br + 'ChildIndex = ' + i; 
     s+=br + 'Cell[row index][column index] '; 
     var numrows = child.asTable().getNumRows(); 
     for(var j=0;j<numrows;j++) 
     { 
      var numcells=child.asTable().getRow(j).getNumCells(); 
      for(var k=0;k<numcells;k++) 
      { 
      var celltxt=child.asTable().getCell(j, k).editAsText().getText(); 
      s+=br + '<strong>Cell[' + j + '][' + k + ']= </strong>' + '<span style="color:#ff0000;font-size:14px;font-weight:bold;">' + celltxt + '</span>'; 
      } 
     } 
     } 
    } 
    } 
    var html=HtmlService.createHtmlOutput(s).setWidth(600).setHeight(450); 
    DocumentApp.getUi().showModelessDialog(html, 'My Tables'); 

スプレッドシートからデータを取得するのは比較的単純ですが、私はGoogle Docに入るのが少し難しいと感じています。子インデックス、行インデックス、セルインデックスを取得し、データをGoogleドキュメントに入力する関数です。現時点で私はフォーマットが変わる理由を解決していません。私は、このサイトの大きな銃の一つが、私たちの空虚な魂を哀れみ、私たちに教えてくれることを願っています。

function saveChildTableCellChanges(childidx,rowidx,cellidx,text) 
{ 
    var doc=DocumentApp.getActiveDocument(); 
    var child=doc.getBody().getChild(childidx); 
    child.asTable().getRow(rowidx).getCell(cellidx).editAsText().setText(text); 
} 
関連する問題