【发布时间】:2020-01-21 19:51:38
【问题描述】:
我的谷歌表格中的这个应用脚本,可以在谷歌驱动器中保存一个基于各个列上列出的动态值的谷歌文档。
如何将其保存在本地而不是保存在驱动器上?
这是工作表中的应用脚本:
var TEMPLATE_ID = '1mqANOhwNQ-dynlR5GO9ybC5UgGsDTz_1K8CUyXw4-SM'
var PDF_FILE_NAME = ''
function onOpen() {
SpreadsheetApp
.getUi()
.createMenu('Crea Contratto')
.addItem('Crea Contratto', 'createPdf')
.addToUi()
}
function createPdf() {
if (TEMPLATE_ID === '') {
SpreadsheetApp.getUi().alert('TEMPLATE_ID needs to be defined in code.gs')
return
}
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
for (;columnIndex < headerRow[0].length; columnIndex++) {
copyBody.replaceText('%' + headerRow[0][columnIndex] + '%',
activeRow[0][columnIndex])
}
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('Contratto creato!')
}
【问题讨论】:
标签: google-apps-script google-sheets google-drive-api google-docs