我正在使用Google電子表格準備發票,並且正在尋找一個簡單腳本,該表單將發票所在的工作表保存在「發票」文件夾來構建檔案。 我從Stackoverflow和youtube上的衆多貢獻者那裏「借來了」代碼,並提出了一個可行的代碼。我必須將發票複製到新創建的電子表格中,因爲從類型電子表格中的單張工作表創建PDF似乎是不可能的。我還必須使用一段代碼將pdf從根目錄移至「發票」文件夾 我無法解決的唯一問題是第6行創建的電子表格由兩張紙片組成。一個空的和正確複製的。創建的pdf因此alsa有2張,一張空白和一張正確的紙張。 任何人都有線索如何解決這個問題? 順便說一下,有時需要幾分鐘才能在文件夾中顯示pdf。使用Google Apps腳本將電子表格中的單個表格保存爲特定文件夾中的pdf
下面是代碼
function generatePdf(){
//Create a temporary spreadsheet, to store the desired sheet from the spreadsheet in.
var originalSpreadsheet = SpreadsheetApp.getActive();
originalSpreadsheet.setActiveSheet(originalSpreadsheet.getSheets()[4]);
var name = "Testname"
var newSpreadsheet = SpreadsheetApp.create(name);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet = originalSpreadsheet.getActiveSheet();
sheet.copyTo(newSpreadsheet);
//Save the desired sheet as pdf
var pdf = DriveApp.getFileById(newSpreadsheet.getId()).getAs('application/pdf');
var saveCopy = DriveApp.createFile(pdf);
//Delete temporary spreadsheet
DriveApp.getFilesByName(name).next().setTrashed(true);
//Move the pdf file from the rootfolder to the folder where invoices are to be stored.
var files = DriveApp.getRootFolder().getFiles();
while (files.hasNext()) {
var file = files.next();
var destination = DriveApp.getFolderById("0B3ok04PZOVbgLXA2dy14MVlLRXM");
destination.addFile(file);
var pull = DriveApp.getRootFolder();
pull.removeFile(file);
}
}
謝謝,這個代碼幾乎爲我工作。它在正確的文件夾中創建文件,但沒有pdf後綴。該文件之前有一個pdf徽標,但沒有後綴我無法打開它。我做了一些修改: – John
對不起,很快就敲了回車鍵,我在下面添加了完整的評論。 – John