質問編集履歴
4
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -269,7 +269,7 @@
|
|
269
269
|
よいのかが分かりませんでした。
|
270
270
|
[過去質問リンク](https://teratail.com/questions/9j7v552e5qgmfy)
|
271
271
|
|
272
|
-
|
272
|
+
●大変申し訳ありませんが、どのようにコードを修正すればよいのか、
|
273
273
|
教えてください。
|
274
274
|
|
275
275
|
```GAS
|
3
補足情報の質問を追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -331,8 +331,25 @@
|
|
331
331
|
|
332
332
|
④eの中に何が入っているか、console.log()で確認してみたい場合、
|
333
333
|
()内にどのようなコードを記載すれば確認できますか?
|
334
|
-
|
335
334
|
|
335
|
+
**<質問8/11追記>**
|
336
|
+
⑤上記④のさら問い。
|
337
|
+
質問コメントでYellowGreenさまご回答いただいた件で「さら問い」です。
|
338
|
+
今回の場合だと、下のどちらが正解ですか?
|
339
|
+
自分で両方試してみてください、だと思いますが上で躓いたため、コードが未完成で
|
340
|
+
まだ自分でconsole.log確認ができず。。。
|
341
|
+
a) console.log('e.value' + e.value());
|
342
|
+
b) console.log('e.range.getValue' + e.range.getValue());
|
336
343
|
|
344
|
+
⑥基本的なことで申し訳ありません。
|
345
|
+
a)もb)も.value()で値を取得していそうなのはわかるのですが、
|
346
|
+
a)とb)の違い(どう使い分ければよいのか)がわからないので教えてください。
|
347
|
+
沢山質問してしまい申し訳ありません。
|
348
|
+
|
337
349
|
|
338
350
|
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
2
試したことを追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -257,6 +257,61 @@
|
|
257
257
|
解消できるのでは? と考え、作業用シートを作成する上記コードに修正
|
258
258
|
しました。
|
259
259
|
|
260
|
+
(2023/8/11追記)
|
261
|
+
質問コメントのYAmaGNZさま、YellowGreenさまからのアドバイスを受け、
|
262
|
+
「シート名が存在するか確認し、存在する場合はもう一行上の行を作業対象
|
263
|
+
とする」案を取り入れ、do while でコードの修正を試みましたが、知識不足
|
264
|
+
で躓きました。
|
265
|
+
|
266
|
+
「取得した配列内にNumが存在しているか」の確認は以前、別件で質問した
|
267
|
+
下記質問を参照し、.includes を使用し途中までコードを記載してみました。
|
268
|
+
が、? 以降のtrueの場合、falseの場合の記載をどのようにdo whileとつなげれば
|
269
|
+
よいのかが分かりませんでした。
|
270
|
+
[過去質問リンク](https://teratail.com/questions/9j7v552e5qgmfy)
|
271
|
+
|
272
|
+
<1>大変申し訳ありませんが、どのようにコードを修正すればよいのか、
|
273
|
+
教えてください。
|
274
|
+
|
275
|
+
```GAS
|
276
|
+
(以下、トライしてみたコード)
|
277
|
+
①OnEdit(e) メインPGM に追記する想定です
|
278
|
+
|
279
|
+
//▼取得したデータを転記するための作業用シートを作成
|
280
|
+
const newSheet = tempSheet.copyTo(Ss);
|
281
|
+
const NewSheetName = newSheet.getName();
|
282
|
+
console.log('NewSheetName ' + NewSheetName);
|
283
|
+
const toSheet = Ss.getSheetByName(NewSheetName);
|
284
|
+
|
285
|
+
//do Whileループでシート名を回答連番に変更
|
286
|
+
const allSheets = Ss.getSheets().flat(); //ファイル内のすべてのシートを配列で取得
|
287
|
+
const sheetLen = allSheets.length;
|
288
|
+
console.log('allSheets ' + allSheets);
|
289
|
+
console.log('sheetLen ' + sheetLen);
|
290
|
+
|
291
|
+
//forループでシート名を1つずつ取得
|
292
|
+
for (let i=0; i<sheetLen; i++ ){
|
293
|
+
allSheets[i].getSheetName();
|
294
|
+
|
295
|
+
//配列allSheets内にNumが含まれているか確認
|
296
|
+
const result = Num.map(Num => allSheets.includes(Num)? ['true']:[false]); //★[]以降の指定、分からない★
|
297
|
+
}
|
298
|
+
|
299
|
+
//回答シートで取得した連番がすでに存在している場合
|
300
|
+
//★ココからの記載わからない
|
301
|
+
//何(仮targetNum)とNumを比較すればよい? resultとNumの比較?? ★
|
302
|
+
// ↓
|
303
|
+
//targetNum === Num の時は処理実行
|
304
|
+
|
305
|
+
do {
|
306
|
+
console.log('Num ' + Num);
|
307
|
+
console.log('TargetNum ' + TargetNum);
|
308
|
+
Num--; //Numの値を1ずつ減らす
|
309
|
+
} while (targetNum > 2) //(終了条件)targetNum=2 (継続条件)targetNum>2
|
310
|
+
|
311
|
+
toSheet.setName(Num); //シート名を変更
|
312
|
+
|
313
|
+
```
|
314
|
+
|
260
315
|
### 補足情報(FW/ツールのバージョンなど)
|
261
316
|
非エンジニアビギナーです。
|
262
317
|
トリガー設定、イベントオブジェクトの知識・理解が不十分
|
1
発生している問題・エラーメッセージ の記載修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,7 +50,8 @@
|
|
50
50
|
いない様に見えます。
|
51
51
|
|
52
52
|
実際の運用で、2つ以上の回答が同時(僅差)でくる可能性があります。
|
53
|
+
はじかれるのを回避する策 または、回答がはじかれた場合、回答者に
|
53
|
-
はじかれ
|
54
|
+
回答がはじかれたことを知らせる方法 のアドバイスを教えてほしいです。
|
54
55
|
|
55
56
|
```
|
56
57
|
(片方がはじかれた時のエラー)
|