前提・実現したいこと
GASについてです。
googleカレンダー情報をgoogleフォームに入れる作業をしています。
二つの配列の
開始時間と終了時間を交互に出力したいのですが、これらを一つのセットとして出力したいです。
綺麗なコードがありましたら教えてください。
発生している問題・エラーメッセージ
実行のまま止まりません。
該当のソースコード
html
1function replaceCategory() { 2 var myCal=CalendarApp.getCalendarById('ID'); //特定のIDのカレンダーを取得 3 var date='2019/06/01 00:00:00'; //対象月を指定 4 var startDate=new Date(date); //取得開始日 5 var endDate=new Date(date); 6 endDate.setMonth(endDate.getMonth()+1); //取得終了日 7 8 var myEvents=myCal.getEvents(startDate,endDate); //カレンダーのイベントを取得 9 10 var array = []; 11 12 var arrat = []; 13 14 15 16 for (var i in myEvents) { 17 array.push(myEvents[i].getStartTime()); 18 } 19 20 for (var i in myEvents) { 21 arrat.push(myEvents[i].getEndTime()); 22 } 23 24 25 26 var frmid = "ID"; //フォームのID 27 var frm = FormApp.openById(frmid); 28 29 var listItem =frm.getItems(FormApp.ItemType.LIST); 30 31 for (var i0 = 0; i0 < listItem.length; i0++){ 32 if (listItem[i0].getTitle()=='項目名'){ 33 var qui = listItem[i0].asListItem() 34 break; 35 } 36 } 37 38 if (i0 == listItem.length){ 39 Logger.log("指定したタイトルのlistItemが存在しない") 40 return 41 } 42 43 44 45 var choices = [] 46 47 for (var i = 0; i < array.length; i++){ 48 choices.push(qui.createChoice(array[i])); 49 } 50 51 var choicess = [] 52 53 for (var i = 0; i < array.length; i++){ 54 choicess.push(qui.createChoice(arrat[i])); 55 } 56 57 var st = [] 58 59 for (var i = 0; i < choices.length; i++){ 60 st[i] = choices[i] + "," + choicess[i]; 61 }; 62 Browser.msgBox(st); 63 64 Logger.log(st); 65 66} 67
試したこと
html
1 var value=[]; 2 var count=myEvents.length; 3 var alldata=[]; 4 for(var i=0;i<count;i++) 5 { 6 value[i]=myEvents[i]; 7 alldata+=value[i]; 8 9-------------------------------------------------------------- 10 11 var message = [] 12 13 for (var i = 0; i < array.length; i++){ 14 var choices.push(qui.createChoice(array[i])); 15 16 var choicess.push(qui.createChoice(arrat[i])); 17 18 message += "\n" + choices + "\n" + choicess; 19 } 20 21 Logger.log(message);
補足情報(FW/ツールのバージョンなど)
mac
回答1件
あなたの回答
tips
プレビュー