質問編集履歴

3

コードの更新

2019/05/20 11:38

投稿

ishikoro.1234
ishikoro.1234

スコア14

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 getSSName(){
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
- return ss_names;
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

書式及び説明の改善

2019/05/20 11:38

投稿

ishikoro.1234
ishikoro.1234

スコア14

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,12 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ Google AppScriptで別のフォルダにあるスプレットシートを一つのスプレットシートにまとめたいので、スプレットシートのIDで当該のスプレットシートにある全シートを指定したいコピー先にコピーするコードを書きたいです。
3
4
 
4
-
5
- Google AppScript指定スプレットシートのシートをアクテイブシートにコピーしたいですが、最初はネットで調べて一枚のみコピー成功しました
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

実現したいこと及び参考コードの更新

2019/05/20 02:02

投稿

ishikoro.1234
ishikoro.1234

スコア14

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
+ }