質問編集履歴
3
コードの更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -56,40 +56,70 @@
|
|
56
56
|
|
57
57
|
|
58
58
|
|
59
|
-
###シー
|
59
|
+
###シート名取得コード
|
60
60
|
|
61
61
|
```
|
62
62
|
|
63
|
-
function get
|
63
|
+
function getname(sheet_no) {
|
64
64
|
|
65
|
-
|
65
|
+
var name= SpreadsheetApp.getActive().getSheets()[sheet_no - 1].getName();
|
66
66
|
|
67
|
-
var ss = SpreadsheetApp.getActive().getSheetsById;
|
68
|
-
|
69
|
-
var ss_names = new Array();
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
if (ss.length >= 1) {
|
74
|
-
|
75
|
-
for(var i = 0;i < ss.length; i++)
|
76
|
-
|
77
|
-
{
|
78
|
-
|
79
|
-
ss_names.push(ss.getName());
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
}
|
84
|
-
|
85
|
-
}
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
67
|
+
return name;
|
90
|
-
|
91
|
-
|
92
68
|
|
93
69
|
}
|
94
70
|
|
95
71
|
```
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
###現在のコード
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
function q189933() {
|
80
|
+
|
81
|
+
const destination = SpreadsheetApp.openById('コピー先ID');
|
82
|
+
|
83
|
+
SpreadsheetApp.openById('元のファイルID').getSheets().forEach(
|
84
|
+
|
85
|
+
function(e) {
|
86
|
+
|
87
|
+
e.copyTo(destination);
|
88
|
+
|
89
|
+
}
|
90
|
+
|
91
|
+
);
|
92
|
+
|
93
|
+
}
|
94
|
+
|
95
|
+
function q189933_() {
|
96
|
+
|
97
|
+
SpreadsheetApp.openById('コピー先ID').insertSheet('Sheet List', 0);
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
var sheetlist = SpreadsheetApp.openById('コピー先ID');
|
102
|
+
|
103
|
+
var movesheet = sheetlist.getSheetByName('Sheet List');
|
104
|
+
|
105
|
+
sheetlist.setActiveSheet(movesheet);
|
106
|
+
|
107
|
+
sheetlist.moveActiveSheet(1);
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
}
|
112
|
+
|
113
|
+
function q189933__() {
|
114
|
+
|
115
|
+
const sheet = SpreadsheetApp.openById('コピー先ID').getSheetByName('Sheet List');
|
116
|
+
|
117
|
+
sheet.clear();
|
118
|
+
|
119
|
+
const dat = SpreadsheetApp.openById('コピー先ID').getSheets().map(function(e){return [e.getSheetName(), e.getSheetId()];}).filter(function(e){return e[0] !== 'Sheet List';});
|
120
|
+
|
121
|
+
sheet.getRange(1, 1, dat.length, 2).setValues(dat);
|
122
|
+
|
123
|
+
}
|
124
|
+
|
125
|
+
```
|
2
書式及び説明の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
+
Google AppScriptで別のフォルダにあるスプレットシートを一つのスプレットシートにまとめたいので、スプレットシートのIDで当該のスプレットシートにある全シートを指定したいコピー先にコピーするコードを書きたいです。
|
3
4
|
|
4
|
-
|
5
|
-
|
5
|
+
もし可能であれば、シートをコピーしたあとにシート名にある(コピー)を削除し、スプレットシートの頭に新しいシートを作成し、全てシートの名前の一覧を作成したいです。
|
6
6
|
|
7
7
|
しかし、全シートをコピーしたかったので、自分なりにコードを変えてみましたが、今度はコードを起動しても何も起こらなかったです。
|
8
|
+
|
9
|
+
説明がわかりにくくて申し訳ございません。
|
8
10
|
|
9
11
|
まだまだ初心者なので、ご教授頂ければ幸いでございます。
|
10
12
|
|
@@ -14,7 +16,7 @@
|
|
14
16
|
|
15
17
|
### 該当のソースコード
|
16
18
|
|
17
|
-
|
19
|
+
```
|
18
20
|
|
19
21
|
function function_name() {
|
20
22
|
|
@@ -46,41 +48,17 @@
|
|
46
48
|
|
47
49
|
sheet[i].copyTo(destination);
|
48
50
|
|
49
|
-
|
51
|
+
}
|
50
52
|
|
51
53
|
}
|
52
54
|
|
55
|
+
```
|
53
56
|
|
54
57
|
|
55
58
|
|
59
|
+
###シード名を取得するコードも作ってみたがうまく起動しなかったです...
|
56
60
|
|
57
|
-
|
61
|
+
```
|
58
|
-
|
59
|
-
###実現したいこと・補足
|
60
|
-
|
61
|
-
もし可能であれば、最初に新しいシート(シート一覧)を作成し、シートをコピーする際に、シート一覧のA列にシート名、B列にシートIDを自動で記入する仕組みにしたいです。
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
###シードIDを取得するコードを調べたが理解できなかったです...
|
66
|
-
|
67
|
-
function getAllFolderID(){
|
68
|
-
|
69
|
-
var all_folders = DriveApp.getFolders();
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
while (all_folders.hasNext()){
|
74
|
-
|
75
|
-
var folder = all_folders.next();
|
76
|
-
|
77
|
-
return('Folder名:'+folder.getName() + 'FolderID:' + folder.getId());
|
78
|
-
|
79
|
-
}
|
80
|
-
|
81
|
-
}
|
82
|
-
|
83
|
-
###シード名を取得するコードも作ってみたがうまく起動しなかったです...
|
84
62
|
|
85
63
|
function getSSName(){
|
86
64
|
|
@@ -113,3 +91,5 @@
|
|
113
91
|
|
114
92
|
|
115
93
|
}
|
94
|
+
|
95
|
+
```
|
1
実現したいこと及び参考コードの更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -55,3 +55,61 @@
|
|
55
55
|
|
56
56
|
|
57
57
|
}
|
58
|
+
|
59
|
+
###実現したいこと・補足
|
60
|
+
|
61
|
+
もし可能であれば、最初に新しいシート(シート一覧)を作成し、シートをコピーする際に、シート一覧のA列にシート名、B列にシートIDを自動で記入する仕組みにしたいです。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
###シードIDを取得するコードを調べたが理解できなかったです...
|
66
|
+
|
67
|
+
function getAllFolderID(){
|
68
|
+
|
69
|
+
var all_folders = DriveApp.getFolders();
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
while (all_folders.hasNext()){
|
74
|
+
|
75
|
+
var folder = all_folders.next();
|
76
|
+
|
77
|
+
return('Folder名:'+folder.getName() + 'FolderID:' + folder.getId());
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
###シード名を取得するコードも作ってみたがうまく起動しなかったです...
|
84
|
+
|
85
|
+
function getSSName(){
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
var ss = SpreadsheetApp.getActive().getSheetsById;
|
90
|
+
|
91
|
+
var ss_names = new Array();
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
if (ss.length >= 1) {
|
96
|
+
|
97
|
+
for(var i = 0;i < ss.length; i++)
|
98
|
+
|
99
|
+
{
|
100
|
+
|
101
|
+
ss_names.push(ss.getName());
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
}
|
106
|
+
|
107
|
+
}
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
return ss_names;
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
}
|