質問編集履歴

2

タグを追加

2019/12/16 08:10

投稿

Gento
Gento

スコア77

test CHANGED
File without changes
test CHANGED
File without changes

1

試した事を追加

2019/12/16 08:10

投稿

Gento
Gento

スコア77

test CHANGED
File without changes
test CHANGED
@@ -110,6 +110,72 @@
110
110
 
111
111
 
112
112
 
113
+ ### 試した事
114
+
115
+ ` var template = DriveApp.getFileById(templateid);`で作った**template**からでは、**getRange()**が呼べないようなので、コピー作成されたシートを名前で指定して取得し、**getRange()**を呼んでみました。
116
+
117
+
118
+
119
+ ```gas
120
+
121
+ //現在のスプレットシートを取得する
122
+
123
+ var sheet1 = SpreadsheetApp.getActiveSheet();
124
+
125
+
126
+
127
+ //コピー先のスプレットシートのid
128
+
129
+ var templateid = "14O0u_YKnbw4w8gwidynx80pMeGfnTWkzw6zatUAAmpI";
130
+
131
+ var template = DriveApp.getFileById(templateid);
132
+
133
+
134
+
135
+ //保存先フォルダオブジェクトの取得
136
+
137
+ var destfolderid = "1s8k_JA49Vp0skfTRJ7spduq9iagXb5v_";
138
+
139
+ var destfolder = DriveApp.getFolderById(destfolderid);
140
+
141
+
142
+
143
+ var name1 = sheet1.getRange(2, 2).getValue();
144
+
145
+ var name2 = sheet1.getRange(3, 2).getValue();
146
+
147
+
148
+
149
+ var filename = '請求書(' + name1 + ')';
150
+
151
+ var sheet = template.makeCopy(filename, destfolder);
152
+
153
+
154
+
155
+ var copiedSheet = SpreadsheetApp.getActiveSpreadsheet(); //追加
156
+
157
+ var invoice = copiedSheet.getSheetByName(filename); //追加
158
+
159
+ Logger.log(invoice);
160
+
161
+
162
+
163
+ //データを転記
164
+
165
+ //コピー先のシートの中のセルを指定して、コピー実行
166
+
167
+ invoice.getRange(2, 2).setValue(name1);
168
+
169
+ invoice.getRange(3, 2).setValue(name2);
170
+
171
+ ```
172
+
173
+
174
+
175
+ しかし、`invoice`は**null**で、結局**getRange()**は呼べなかったです。。。
176
+
177
+
178
+
113
179
  ### 補足情報(FW/ツールのバージョンなど)
114
180
 
115
181
  [こちら](https://qiita.com/nurburg/items/744ec53477f4ae328555#コピー作成したスプレッドシートに書き込む)を参考に、指定フォルダへのコピー作成を実装できました。