2017-06-22 12 views
0

Googleのテキストとテキストのプレースホルダを置き換えるためのキーとして列ヘッダーの値を使用して、GoogleドキュメントとGoogleシートのデータをマージする次のコードは、 doc。現時点でGoogleドキュメントのマージでGoogleシート内の特定のセルの編集

// Set up the docs and the spreadsheet access 

var copyFile = DriveApp.getFileById(TEMPLATE_ID).makeCopy(), 
    copyId = copyFile.getId(), 
    copyDoc = DocumentApp.openById(copyId), 
    copyBody = copyDoc.getActiveSection(), 
    activeSheet = SpreadsheetApp.getActiveSheet(), 
    numberOfColumns = activeSheet.getLastColumn(), 
    activeRowIndex = activeSheet.getActiveRange().getRowIndex(), 
    activeRow = activeSheet.getRange(activeRowIndex, 1, 1, 
    numberOfColumns).getValues(), 
    headerRow = activeSheet.getRange(1, 1, 1, numberOfColumns).getValues(), 
    columnIndex = 0 

// Replace the keys with the spreadsheet values 

    for (;columnIndex < headerRow[0].length; columnIndex++) { 

    copyBody.replaceText('%' + headerRow[0][columnIndex] + '%', 
        activeRow[0][columnIndex]) 

、このコードは手動でトリガする必要があり、アクティブな行をカーソルで選択された場所に基づいて機能を実行します。

また、行の特定のセルの編集時にこの関数をトリガし、この同じ行の値を参照してマージを実行したいとします。私は過去に以下のコードを使用していますが、上記のコンテキストでは使用していません。

function onEditcustom(e) { 

    if(e.range.getColumn() == 1 && e.value == "APPROVED" && 
    e.range.getSheet().getName() == "Sheet 1"){ 

ご協力いただければ幸いです。

ありがとうございます!

+0

あなたの質問(複数可)とは何ですか? StackOverflowは、あなたのプロジェクトのための特別なソリューションを他人から得る場所ではありません。 –

+0

Hey Anton - 明確にするために、特定のセルが編集されたときだけ、Googleシートを使って文書マージを実行する方法を知りたいと思います。上記のコードの最初のセットはその要点ですが、私は特定のセルの編集にこの機能を実行したいと思います。 –

答えて

0

Googleシートでインストール可能なトリガーonEditを使用します。 DocumentAppサービスにアクセスするには、インストール可能なバージョンを使用する必要があります。

また、onEditは、シートでのみ使用でき、ドキュメントでは使用できないことに注意してください。

https://developers.google.com/apps-script/guides/triggers/installable#google_apps_triggers

+0

こんにちはヨルダン!返信いただきありがとうございます。明確にするために、スクリプトはGoogleのシートではなく、Googleのドキュメントにあります。行の特定のセルを編集する場合にのみ、上記の機能をどのように実行することができますか? –

+0

ドキュメントには、インストール可能なトリガーを手動で、プログラムで使用する2つの方法があります。既に関数が書かれているようですが、スクリプトエディタに入り、トリガをインストールするだけです。 –

+0

ちょっとヨルダン!もう一度ありがとう - 私はトリガーを実行する方法を知っています。しかし、私はコード自体に問題があります。最初のコードが書き込まれる方法は、手動で実行されるときにのみトリガされます。何かご意見は? –

関連する問題