質問編集履歴
3
コードの更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,22 +27,37 @@
|
|
27
27
|
}
|
28
28
|
```
|
29
29
|
|
30
|
-
###シー
|
30
|
+
###シート名取得コード
|
31
31
|
```
|
32
|
-
function
|
32
|
+
function getname(sheet_no) {
|
33
|
-
|
34
|
-
var
|
33
|
+
var name= SpreadsheetApp.getActive().getSheets()[sheet_no - 1].getName();
|
35
|
-
|
34
|
+
return name;
|
35
|
+
}
|
36
|
+
```
|
36
37
|
|
38
|
+
###現在のコード
|
39
|
+
```
|
37
|
-
|
40
|
+
function q189933() {
|
38
|
-
|
41
|
+
const destination = SpreadsheetApp.openById('コピー先ID');
|
42
|
+
SpreadsheetApp.openById('元のファイルID').getSheets().forEach(
|
39
|
-
{
|
43
|
+
function(e) {
|
40
|
-
|
44
|
+
e.copyTo(destination);
|
41
|
-
|
42
45
|
}
|
46
|
+
);
|
43
|
-
|
47
|
+
}
|
48
|
+
function q189933_() {
|
49
|
+
SpreadsheetApp.openById('コピー先ID').insertSheet('Sheet List', 0);
|
44
50
|
|
51
|
+
var sheetlist = SpreadsheetApp.openById('コピー先ID');
|
52
|
+
var movesheet = sheetlist.getSheetByName('Sheet List');
|
53
|
+
sheetlist.setActiveSheet(movesheet);
|
45
|
-
|
54
|
+
sheetlist.moveActiveSheet(1);
|
46
|
-
|
55
|
+
|
47
56
|
}
|
57
|
+
function q189933__() {
|
58
|
+
const sheet = SpreadsheetApp.openById('コピー先ID').getSheetByName('Sheet List');
|
59
|
+
sheet.clear();
|
60
|
+
const dat = SpreadsheetApp.openById('コピー先ID').getSheets().map(function(e){return [e.getSheetName(), e.getSheetId()];}).filter(function(e){return e[0] !== 'Sheet List';});
|
61
|
+
sheet.getRange(1, 1, dat.length, 2).setValues(dat);
|
62
|
+
}
|
48
63
|
```
|
2
書式及び説明の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-
|
3
|
-
Google AppScriptで
|
2
|
+
Google AppScriptで別のフォルダにあるスプレットシートを一つのスプレットシートにまとめたいので、スプレットシートのIDで当該のスプレットシートにある全シートを指定したいコピー先にコピーするコードを書きたいです。
|
3
|
+
もし可能であれば、シートをコピーしたあとにシート名にある(コピー)を削除し、スプレットシートの頭に新しいシートを作成し、全てシートの名前の一覧を作成したいです。
|
4
4
|
しかし、全シートをコピーしたかったので、自分なりにコードを変えてみましたが、今度はコードを起動しても何も起こらなかったです。
|
5
|
+
説明がわかりにくくて申し訳ございません。
|
5
6
|
まだまだ初心者なので、ご教授頂ければ幸いでございます。
|
6
7
|
|
7
8
|
|
8
9
|
### 該当のソースコード
|
9
|
-
|
10
|
+
```
|
10
11
|
function function_name() {
|
11
12
|
|
12
13
|
var source = SpreadsheetApp.openById('元のファイルID');
|
@@ -22,24 +23,12 @@
|
|
22
23
|
var destination = SpreadsheetApp.openById('コピー先ID');
|
23
24
|
|
24
25
|
sheet[i].copyTo(destination);
|
25
|
-
|
26
26
|
}
|
27
|
-
|
28
|
-
|
29
27
|
}
|
30
|
-
|
28
|
+
```
|
31
|
-
もし可能であれば、最初に新しいシート(シート一覧)を作成し、シートをコピーする際に、シート一覧のA列にシート名、B列にシートIDを自動で記入する仕組みにしたいです。
|
32
29
|
|
33
|
-
###シードIDを取得するコードを調べたが理解できなかったです...
|
34
|
-
function getAllFolderID(){
|
35
|
-
var all_folders = DriveApp.getFolders();
|
36
|
-
|
37
|
-
while (all_folders.hasNext()){
|
38
|
-
var folder = all_folders.next();
|
39
|
-
return('Folder名:'+folder.getName() + 'FolderID:' + folder.getId());
|
40
|
-
}
|
41
|
-
}
|
42
30
|
###シード名を取得するコードも作ってみたがうまく起動しなかったです...
|
31
|
+
```
|
43
32
|
function getSSName(){
|
44
33
|
|
45
34
|
var ss = SpreadsheetApp.getActive().getSheetsById;
|
@@ -55,4 +44,5 @@
|
|
55
44
|
|
56
45
|
return ss_names;
|
57
46
|
|
58
|
-
}
|
47
|
+
}
|
48
|
+
```
|
1
実現したいこと及び参考コードの更新
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,4 +26,33 @@
|
|
26
26
|
}
|
27
27
|
|
28
28
|
|
29
|
+
}
|
30
|
+
###実現したいこと・補足
|
31
|
+
もし可能であれば、最初に新しいシート(シート一覧)を作成し、シートをコピーする際に、シート一覧のA列にシート名、B列にシートIDを自動で記入する仕組みにしたいです。
|
32
|
+
|
33
|
+
###シードIDを取得するコードを調べたが理解できなかったです...
|
34
|
+
function getAllFolderID(){
|
35
|
+
var all_folders = DriveApp.getFolders();
|
36
|
+
|
37
|
+
while (all_folders.hasNext()){
|
38
|
+
var folder = all_folders.next();
|
39
|
+
return('Folder名:'+folder.getName() + 'FolderID:' + folder.getId());
|
40
|
+
}
|
41
|
+
}
|
42
|
+
###シード名を取得するコードも作ってみたがうまく起動しなかったです...
|
43
|
+
function getSSName(){
|
44
|
+
|
45
|
+
var ss = SpreadsheetApp.getActive().getSheetsById;
|
46
|
+
var ss_names = new Array();
|
47
|
+
|
48
|
+
if (ss.length >= 1) {
|
49
|
+
for(var i = 0;i < ss.length; i++)
|
50
|
+
{
|
51
|
+
ss_names.push(ss.getName());
|
52
|
+
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
return ss_names;
|
57
|
+
|
29
58
|
}
|