前提・実現したいこと
エンジニアではなく、GASも初心者です。
googleカレンダーの予定を、1日後とにスプレッドシートの新規シートへ出力するスクリプトを書いています。
発生している問題・エラーメッセージ
その際、カレンダーIDを以下のように取得すると思いますが、以下のように直接スクリプトにカレンダーIDを入れるのではなく、
スプレッドシートの特定のセルにある値(カレンダーID)を利用したい
var cal = CalendarApp.getCalendarById('abcdef@gmail.com');
該当のソースコード
function CreateDailyplan() {
// 今日の日付を取得
var today = new Date();
var month = today.getMonth() + 1;
var date = month + "/" + today.getDate()
// FMTのシートを指定
var formatSheet = SpreadsheetApp.getActive().getSheetByName('FMT');
// FMTのシートをactiveシートに設定
SpreadsheetApp.setActiveSheet(formatSheet);
// FMTシートの複製を作成
SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet().setName(date);
// 新規作成したシートを指定
var newSheet = SpreadsheetApp.getActive().getSheetByName(date);
// 新規作成したシートをactiveシートに設定
SpreadsheetApp.setActiveSheet(newSheet);
// activeなシートを取得
var activeSheet = SpreadsheetApp.getActiveSpreadsheet();
// 新規作成したシートを一番左に移動
activeSheet.moveActiveSheet(0);
// カレンダーから情報を取得
var myid = activeSheet.getRange('F1').setValue();
Logger.log (myid);
var cal = CalendarApp.getCalendarsByID('myid');
var events = cal.getEventsForDay(today); // 本日の日付を指定
for
(var i=0; i<events.length; i++){ // 繰り返す回数は予定の個数分
activeSheet.getRange('A'+(i+3)).setValue(events[i].getStartTime());
activeSheet.getRange('B'+(i+3)).setValue(events[i].getEndTime());
activeSheet.getRange('C'+(i+3)).setValue(events[i].getTitle());
}
}
試したこと
ここがうまく動かないです。
var myid = activeSheet.getRange('F1').setValue();
Logger.log (myid);
var cal = CalendarApp.getCalendarsByID('myid');
var events = cal.getEventsForDay(today); // 本日の日付を指定
補足情報(FW/ツールのバージョンなど)
参考にした日報ツール
https://qiita.com/Naoto9282/items/6dd701cf523f40ed3e61
何か良い方法があれば、教えていただきたいです。