2016-06-14 7 views
1

Google Apps Scriptを初めて使用し、一般的にコーディングしています。私は、スプレッドシートからのデータをテンプレート文書に取り込んでカスタム文書を生成するために、「差し込み印刷」タイプのスクリプトを使用したいと考えています。 私がここで見つけたスクリプトはほとんど完璧です:Google Apps Script to create PDF、 私が必要とするものではなく、GoogleドキュメントファイルではなくPDFを生成することを除いて、PDFの代わりにGoogleドキュメントファイルを生成する

これまでPDFドキュメントではなくGoogleドキュメントを出力するようにこのスクリプトを修正しようとしましたが、今まで成功していませんでした。私が得ている最も近いです

var newFile = DriveApp.createFile(copyFile.getAs('application/pdf')) 

// Create the PDF file, rename it if required and delete the doc copy 
copyDoc.saveAndClose() 
var newFile = DriveApp.createFile(copyFile.getAs('application/pdf')) 
if (PDF_FILE_NAME !== '') { 
newFile.setName(PDF_FILE_NAME) 
} 
copyFile.setTrashed(true) 

を具体的に私はこのラインのために、適切な修正を把握することはできません、次のように

元のスクリプトの関連する部分があります次のものを代用すると、空白の文書になります。

var newFile = DocumentApp.create(‘My_File_Name') 

私はsuです簡単な解決法がありますが、私はそれを働かせることができません。

答えて

1

新しい文書は、あなたがここに、見ているコードの行の前に作成されました:

var copyFile = DriveApp.getFileById(TEMPLATE_ID).makeCopy(), 

スクリプトは、その後、テンプレートのコピーを記入PDFを生成するために行くと、 ゴミ箱の文書。あなたはそれらの最後のステップを停止する必要があります!

変更:

// Create the PDF file, rename it if required and delete the doc copy 

copyDoc.saveAndClose() 

var newFile = DriveApp.createFile(copyFile.getAs('application/pdf')) 

if (PDF_FILE_NAME !== '') { 

    newFile.setName(PDF_FILE_NAME) 
} 

copyFile.setTrashed(true) 

SpreadsheetApp.getUi().alert('New PDF file created in the root of your Google Drive') 

...と...このようなコードを適応すると、それはまたPDF_FILE_NAMEような変数の名前を変更すると便利です

// Rename the file if desired, then close it 
if (PDF_FILE_NAME !== '') { 
    copyDoc.setName(PDF_FILE_NAME) 
} 

copyDoc.saveAndClose() 

SpreadsheetApp.getUi().alert('New doc created in the root of your Google Drive') 

ので、彼らはに関連する意味を持っています更新されたコード。しかし、それがなくても、この単純な変更はそのトリックを行うべきです。

関連する問題