前提・実現したいこと
Googleフォームの回答を別のスプレッドシートに転記し、転記先のシートをPDFファイルとしてGoogleドライブに保存したいと考えています。コード自体は実行されるのですが、保存先ではドキュメントファイル形式で保存されてしまい、開くことができません。PDFファイルとして保存するにはどのようにすればよいか、改善策をご教示お願い致します。
該当のソースコード
GoogleAppsScript
1ソースコード 2function CreatePDF() { 3 4 var ssid = "スプレッドシートのidを入れています"; 5 var ss = SpreadsheetApp.openById(ssid); 6 var datass = ss.getSheetByName("元データのシート名が入っています"); 7 var pdfss = ss.getSheetByName("PDF化したいシート名が入っています"); 8 var pdfsheetid = "シートIDが入っています"; 9 10 var lastrow = datass.getLastRow(); 11 12 13 14 pdfss.getRange("C5").setValue(datass.getRange(lastrow,3).getValue()); 15 pdfss.getRange("C4").setValue(datass.getRange(lastrow,4).getValue()); 16 pdfss.getRange("I5").setValue(datass.getRange(lastrow,5).getValue()); 17 18 19 20 var folder = DriveApp.getFolderById("保存先のフォルダIDが入っています"); 21 22 var url = "https://docs.google.com/spreadsheets/d/SSID/export?".remove("SSID", ssid); 23 24 var opts = { 25 exportFormat: "pdf", 26 format: "pdf", 27 size: "A4", 28 portrait: "true", 29 fitw: "true", 30 sheetnames: "false", 31 printtitle: "false", 32 pagenumbers: "false", 33 gridlines: "false", 34 fzr: "false", 35 gid: pdfsheetid 36 }; 37 38 var url_ext = []; 39 40 for( optName in opts) { 41 url_ext.push(optName + "=" + opts[optName]); 42 } 43 44 var options = url_ext.join("&"); 45 var token = ScriptApp.getOAuthToken(); 46 47 var response = UrlFetchApp.fetch(url + options, { 48 headers: { 49 "Authorization":"Bearer" + token 50 } 51 }); 52 53 var blob = response.getBlob().setName(datass.getRange(lastrow,4).getValue() + ".pdf"); 54 55 folder.createFile(blob); 56 57 58}
試したこと
様々なサイトを見て、コードを真似たりしましたが、一向に改善しません。
主に、こちらのサイトを見させてもらい、参考にしました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/13 13:14