2016-06-14 82 views
1

我不熟悉Google Apps脚本和编码。我想通过使用电子表格中的数据填充模板文档来使用“邮件合并”类型的脚本来生成自定义文档。 我在这里找到的脚本非常完美:Google Apps Script to create PDF, ,只是它生成PDF而不是Google文档文件,这正是我所需要的。生成Google文档文件而不是PDF

我试着修改这个脚本来输出一个Google文档而不是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 = DriveApp.createFile(copyFile.getAs('application/pdf')) 

我已经得到最接近的是替代以下内容,仅导致空白文档:

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') 

...到...

// 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') 

当适应这样的代码,是有帮助的也像重命名变量PDF_FILE_NAME让他们有含义是相关的更新的代码。但即使没有这一点,这个简单的改变应该做的伎俩。