teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

03書類作成のスクリプトの詳細を表示

2019/11/01 09:41

投稿

CoAT.Yuki
CoAT.Yuki

スコア12

title CHANGED
File without changes
body CHANGED
@@ -90,7 +90,51 @@
90
90
  03 書類作成
91
91
  function J_PDF_FIN(Fid, ssid, JSheetid, filename)
92
92
  {
93
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
94
+ var folder = DriveApp.getFolderById(Fid);// PDFファイルの保存先となるフォルダをフォルダIDで指定
95
+
96
+ // スプレッドシートをPDFにエクスポートするためのURL。このURLに色々なオプションを付けてPDFを作成
97
+ var url = "https://docs.google.com/spreadsheets/d/SSID/export?".replace("SSID", ssid);
98
+
99
+ // PDF作成のオプションを指定
100
+ var opts = {
101
+ exportFormat: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx
102
+ format: "pdf", // ファイル形式の指定 pdf / csv / xls / xlsx
103
+ size: "A4", // 用紙サイズの指定 legal / letter / A4
104
+ portrait: "true", // true → 縦向き、false → 横向き
105
+ fitw: "true", // 幅を用紙に合わせるか
106
+ sheetnames: "false", // シート名をPDF上部に表示するか
107
+ printtitle: "false", // スプレッドシート名をPDF上部に表示するか
108
+ pagenumbers: "false", // ページ番号の有無
109
+ gridlines: "false", // グリッドラインの表示有無
110
+ fzr: "false", // 固定行の表示有無
111
+ gid: JSheetid // シートIDを指定 sheetidは引数で取得
93
- 省略
112
+ };
113
+
114
+ var url_ext = [];
115
+
116
+ // 上記のoptsのオプション名と値を「=」で繋げて配列url_extに格納
117
+ for( optName in opts ){
118
+ url_ext.push( optName + "=" + opts[optName] );
119
+ }
120
+
121
+ // url_extの各要素を「&」で繋げる
122
+ var options = url_ext.join("&");
123
+
124
+ // API使用のためのOAuth認証
125
+ var token = ScriptApp.getOAuthToken();
126
+
127
+ // PDF作成
128
+ var response = UrlFetchApp.fetch(url + options, {
129
+ headers: {
130
+ 'Authorization': 'Bearer ' + token
131
+ }
132
+ });
133
+
134
+ var blob = response.getBlob().setName(filename + '.pdf');
135
+
136
+ // PDFを指定したフォルダに保存
137
+ folder.createFile(blob);
94
138
  }
95
139
  ```
96
140
 

1

タイトルの変更

2019/11/01 09:41

投稿

CoAT.Yuki
CoAT.Yuki

スコア12

title CHANGED
@@ -1,1 +1,1 @@
1
- GAS:処理が順番どりに行かない
1
+ GAS:処理が順番どりに行かない
body CHANGED
File without changes