回答編集履歴
2
修正を適用したコードを追記
answer
CHANGED
@@ -32,4 +32,47 @@
|
|
32
32
|
|
33
33
|
> プログラムがあまり詳しくないため試してはいません。。。
|
34
34
|
|
35
|
-
実際に書いて試してみましょう。ご自分で書いたコードを提示しないとどこが分からないか回答者も分かりませんし、「要望まる投げ」と受け取られて、回答もつきづらくなります。
|
35
|
+
実際に書いて試してみましょう。ご自分で書いたコードを提示しないとどこが分からないか回答者も分かりませんし、「要望まる投げ」と受け取られて、回答もつきづらくなります。
|
36
|
+
|
37
|
+
---
|
38
|
+
**「どこを修正すべきか?」とのコメントをいただいたので参考に追記します**
|
39
|
+
|
40
|
+
ご提示の`myFunction`を修正するのであればこのようなコードになるかと思います。PDFファイルはマイドライブ直下に作ります。動作内容をご確認の上、適当に修正してください。
|
41
|
+
|
42
|
+
```JavaScript
|
43
|
+
function myFunction() {
|
44
|
+
try {
|
45
|
+
// マイドライブ直下に保存
|
46
|
+
var root = DriveApp.getRootFolder();
|
47
|
+
var folderid = root.getId();
|
48
|
+
|
49
|
+
var ss = SpreadsheetApp.getActiveSpreadsheet();
|
50
|
+
|
51
|
+
// 現在開いているスプレッドシートのIDを取得
|
52
|
+
var ssId = ss.getId();
|
53
|
+
|
54
|
+
// ファイル名に使用する名前を取得(スプレッドシートのA1)
|
55
|
+
var customer_name = ss.getRange("A1").getValue();
|
56
|
+
|
57
|
+
// ファイル名に使用するタイムスタンプを取得
|
58
|
+
var timestamp = getTimestamp();
|
59
|
+
|
60
|
+
var sheets = ss.getSheets();
|
61
|
+
|
62
|
+
// シート分PDFに出力
|
63
|
+
for (var i = 0; i < sheets.length; i++) {
|
64
|
+
// シートIDを取得
|
65
|
+
var sheetId = sheets[i].getSheetId();
|
66
|
+
// シート名を取得
|
67
|
+
var sheetName = sheets[i].getName();
|
68
|
+
// 拡張子抜きのファイル名を生成 "[A1セルの内容]_[シート名]_[タイムスタンプ]"
|
69
|
+
// var baseName = "S" + String(i + 1) + "_" + name;
|
70
|
+
var baseName = customer_name + "_" + sheetName + "_" + timestamp;
|
71
|
+
// PDFファイルを出力
|
72
|
+
createPDF(folderid, ssId, sheetId, baseName);
|
73
|
+
}
|
74
|
+
} catch (e) {
|
75
|
+
Logger.log("Exception: " + e);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
```
|
1
誤記修正
answer
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
createPDF(folderId, ssId, sheetId, baseName);
|
25
25
|
}
|
26
26
|
} catch (e) {
|
27
|
-
|
27
|
+
Logger.log("Exception: " + e);
|
28
28
|
}
|
29
29
|
}
|
30
30
|
```
|