2016-12-01 10 views
0

Google Docsテンプレートが自動的にフォルダにコピーされ、特定の値が表計算セルの値に置き換えられます。Google App Script Google DocsテンプレートをPDFテンプレートに変換

テンプレートは、< < 41 >>のような値を保持します。これらの値は、スプレッドシートからの値で検索および置換されます。発見とプロセスを交換するには結構です、そしてドキュメントの結果が今 enter image description here

以下、この画像のように見える、私はこの文書をPDFに変換したい

The values like <<41>> are replaced with values coming from spreadsheet.

[下の画像を参照してください]それが更新された後、私は変換のための関数を作って、すべてのコードが実行された後にその関数を最下位に呼び出します。ここで

機能です:

//convert to PDF 
function convertPDF(FileID,newName) { 
    Utilities.sleep(120000); 
    docblob = DocumentApp.openById(FileID).getAs('application/pdf'); 
    /* Add the PDF extension */ 
    docblob.setName(newName + ".pdf"); 
    var file = DriveApp.createFile(docblob); 

} 

convertionが正常に動作しますが、それはたてのテンプレートからコピーだったと値がまだ変更されていなかったように変換された文書が更新されものではありません。

生成されたPDFは、最初の画像のように見えます。

変換機能を使用する前にスリープタイマーを追加して、変換を遅らせ、変更を保存する時間を与えて、1分と2分のスリープを試みましたが、仕事。

助けてください。

+0

'DocumentApp.openById()'を 'DocumentApp.getActiveDocument()'に置き換えてみてください。 –

答えて

0

私が上で提供した関数はうまくいきました。ドキュメントをPDFに変換する関数を呼び出す前に、saveAndClose()メソッドを呼び出すことによってスクリプトに変更を保存するだけで済みます。

1

私はconvertPdf()の入力されたコピーではなく、元のテンプレートのファイルIDを使用していますか?here

関連する問題