質問編集履歴
2
イベントIDが正しく出力されていないため追記で質問
title
CHANGED
File without changes
|
body
CHANGED
@@ -40,4 +40,38 @@
|
|
40
40
|
キャンセル
|
41
41
|
|電話番号|予約日|反映
|
42
42
|
|:--|:--:|--:|
|
43
|
-
|09000000000|2020/7/25||
|
43
|
+
|09000000000|2020/7/25||
|
44
|
+
|
45
|
+
|
46
|
+
追記
|
47
|
+
---
|
48
|
+
下記コードを使ってスプレッドシートよりGoogleカレンダーへ予定の書き出しをしているのですが(もとコードから書き換えがあるため書き間違えがある可能性あり)、このコードで出力されるイベントIDというのが「zzzzzzzzzzzzzzzz@google.com」というような形で出力されます。
|
49
|
+
しかし今回行いたいカレンダーの削除において必要なイベントIDとは文字列が異なるため正しいイベントIDの書き出し方を教えていただきたく存じます。
|
50
|
+
|
51
|
+
```javascript
|
52
|
+
function addTaskEvents() {
|
53
|
+
|
54
|
+
var cal = CalendarApp.getCalendarById('xxxxxxxxxxxxxxxxx@group.calendar.google.com'); //カレンダーIDでカレンダーを取得
|
55
|
+
|
56
|
+
var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
|
57
|
+
var mySheet = objSpreadsheet.getSheetByName("予約");
|
58
|
+
var dat = mySheet.getDataRange().getValues(); //シートデータを取得
|
59
|
+
|
60
|
+
for(var i=1;i<dat.length;i++){
|
61
|
+
if(dat[i][3] == ""){
|
62
|
+
|
63
|
+
/* 日時をセット */
|
64
|
+
var evtDate = new Date(dat[i][2]);
|
65
|
+
var evTime = "18:00"
|
66
|
+
var Name =dat[i][0]
|
67
|
+
var option =dat[i][1]
|
68
|
+
|
69
|
+
var myEvt = cal.createEvent(Name , evtDate , evtTime , option);
|
70
|
+
}
|
71
|
+
|
72
|
+
dat[i][3]= myEvt.getID();//イベントIDを入力
|
73
|
+
}
|
74
|
+
mySheet.getRange(1,1,i,3).setValues(dat);
|
75
|
+
}
|
76
|
+
|
77
|
+
```
|
1
初心者マークを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
上記を動かし予約カレンダーとして利用しているのですが、予約のキャンセルがあったときもフォーム入力で自動で予定の削除ができないかと方法を考えております。
|
6
6
|
|
7
7
|
|
8
|
-
現在考えている方法としまして下記の「キャンセル」のシートにフォーム送信があった際、シート「予約」から予約日と電話番号の二つの条件で検索し、行番号をindexOfなどで抽出をしたら列番号と行番号で対象のイベントIDの値を取り、deleteCalendar()で予定を削除しようと考えております
|
8
|
+
現在考えている方法としまして下記の「キャンセル」のシートにフォーム送信があった際、シート「予約」から予約日と電話番号の二つの条件で検索し、行番号をindexOfなどで抽出をしたら列番号と行番号で対象のイベントIDの値を取り、deleteCalendar()で予定を削除しようと考えております(処理後C列に「済」を記帳)
|
9
9
|
|
10
10
|
しかしindexOfでは二つの条件で検索ができず、他に方法も思い浮かばないためこの度質問させていただきました。
|
11
11
|
|