前提・実現したいこと
きちんとGAS(プログラミング全般含め)を触ったのは今日が初めてのレベルです。
今まではコピペして読解、少し書き換えるくらいしか経験がありません。
いくら調べても分からず、ご教示いただけますと幸いです。
スプレッドシートからPDFに出力し、ドライブに格納したい。
発生している問題・エラーメッセージ
スプレッドシートをPDF化するGASを作成し、ドライブに出力するところまではできました。
ただ、対象のシートに入っているセルのメモを表示させたくないのですが、
PDF上では[1][2]・・・と但し書きが入り、下部に[1] ~~~~ [2]~~~~ ・・・と入ってしまいます。
この表示を消したいです。(スプレッドシートにはそのまま表示させておきたいです。)
エラー等は特にでません。
該当のソースコード
GAS
1function getFolderId() { 2 3var ui = SpreadsheetApp.getUi(); 4var response = ui.prompt( 5 'フォルダのURLを入力してください。', 6 '(例)https://drive.google.com/drive/folders/************', 7 ui.ButtonSet.OK 8); 9 10var inputName = response.getResponseText() 11.replace('https://drive.google.com/drive/folders/','') 12.replace('https://drive.google.com/drive/u/0/folders/','') 13.replace('https://drive.google.com/drive/u/1/folders/',''); 14 15console.log(inputName); 16 17switch (response.getSelectedButton()) { 18 case ui.Button.OK: 19 console.log('%s と入力され、OKが押されました。',inputName); 20 21 break; 22 23 case ui.Button.CLOSE: 24 console.log('閉じるボタンが押されました。'); 25 26}//switch 27 28return inputName; 29} 30 31 32 33 34function exportAsPDF() { 35 36 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 37 var ssId = spreadsheet.getId(); 38 var sheetId = spreadsheet.getSheetByName('シート名').getSheetId(); 39 40 var date = new Date(); 41 var today = Utilities.formatDate(date, 'JST', 'yyMMdd'); 42 43 var fileName = today + ' 出力名'; 44 var folderId = getFolderId(); 45 var folder = DriveApp.getFolderById(folderId); 46 // スプレッドシートをPDFにエクスポートするためのURL。このURLに色々なオプションを付けてPDFを作成 47 var url = "https://docs.google.com/spreadsheets/d/SSID/export?".replace("SSID", ssId); 48 49 // PDF作成のオプションを指定 50 var opts = { 51 exportFormat: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx 52 format: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx 53 size: "A4", // 用紙サイズの指定 legal / letter / A4 54 portrait: "true", // true → 縦向き、false → 横向き 55 fitw: "true", // 幅を用紙に合わせるか 56 sheetnames: "false", // シート名をPDF上部に表示するか 57 printtitle: "false", // スプレッドシート名をPDF上部に表示するか 58 pagenumbers: "false", // ページ番号の有無 59 gridlines: "false", // グリッドラインの表示有無 60 fzr: "false", // 固定行の表示有無 61 range: "A1%3AN54", // 対象範囲 62 gid: sheetId // シートIDを指定 sheetidは引数で取得 63 }; 64 65 var url_ext = []; 66 67 // 上記のoptsのオプション名と値を「=」で繋げて配列url_extに格納 68 for( optName in opts ){ 69 url_ext.push( optName + "=" + opts[optName] ); 70 } 71 72 // url_extの各要素を「&」で繋げる 73 var options = url_ext.join("&"); 74 75 // optionsは以下のように作成しても同じです。 76 // var ptions = 'exportFormat=pdf&format=pdf' 77 // + '&size=A4' 78 // + '&portrait=true' 79 // + '&sheetnames=false&printtitle=false' 80 // + '&pagenumbers=false&gridlines=false' 81 // + '&fzr=false' 82 // + '&gid=' + sheetid; 83 84 // API使用のためのOAuth認証 85 var token = ScriptApp.getOAuthToken(); 86 87 // PDF作成 88 var response = UrlFetchApp.fetch(url + options, { 89 headers: { 90 'Authorization': 'Bearer ' + token 91 } 92 }); 93 94 // 95 var blob = response.getBlob().setName(fileName + '.pdf'); 96 97 //} 98 99 // PDFを指定したフォルダに保存 100 folder.createFile(blob); 101 102}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/10 04:12