ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
Googleカレンダーから今日の予定をGoogleスプレッドシートに取り込む
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- JavaScriptで明日を取得する方法がわかります。
- 明日の予定をスプレッドシートに取り込むことができます。
なので、サクッとマスターして
と答えてあげてください。
いただいたご質問
動画はこちら
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)
スクリプト
明日の取得方法
//明日の取得
function getnextdate(){
let newdate = new Date() //今日の取得
console.log(newdate)
newdate.setDate( newdate.getDate()+1) //明日を取得しセット
console.log(newdate)
}
明日の予定を取得する
/**
* 明日の予定を取得する
*/
function getNextdayEvents(){
let newdate = new Date() //今日の取得
console.log(newdate)
newdate.setDate( newdate.getDate()+1) //明日を取得しセット
console.log(newdate)
CalendarToSpreadsheet2(newdate)
}
/**
* 今日の予定を取得する
*/
function getTodayEvents(){
CalendarToSpreadsheet2( new Date())
}
/**
* 指定された日の予定をスプレッドシートに取り込む
* newdate 取得する日
*/
function CalendarToSpreadsheet2(newdate) {
const DSP_ROW = 1 //表示開始行
const DSP_CLM = 1 //表示開始位置
const SHEET_NAME = "" //★特定のシートに出力する場合は、指定する
let booklist = [["カレンダー名", "タイトル", "時間"]] //★ヘッダー
//let booklist = []
const calendars = CalendarApp.getAllCalendars()
// let text = Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd') + "\n"
//カレンダー分のループ
for (i in calendars) {
let calendar = calendars[i]
let events = calendar.getEventsForDay(newdate) //★newdateの予定が取得される
//カレンダー名を取得する
if (events.length > 0) {
text = calendar.getName()
}
//カレンダーの内容を取得する
for (j in events) {
let book = [] //一回の予定
let event = events[j]
book.push(text)
//タイトル
book.push( event.getTitle())
//時間
let start = toTime(event.getStartTime()) //開始時間
let end = toTime(event.getEndTime()) //終了時間
console.log(end)
let booktime
if (end == '00:00') {
end = '24:00'
}
if (start == '00:00' & end == '24:00') {
booktime = '終日'
}
else {
booktime = start + ' - ' + end
}
book.push(booktime)
booklist.push(book) //一回の予定を格納する
}
}
console.log(booklist)
console.log(booklist.length)
if (booklist.length == 0) {
Browser.msgBox("今日の予定", "今日の予定はありません", Browser.Buttons.OK)
}
else {
let sh
if (SHEET_NAME == "") {
//シート名が指定されていない場合は、アクティブなシートに出力する
sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
}
else {
sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME)
}
sh.getRange(DSP_ROW, DSP_CLM, booklist.length, 3).setValues(booklist)
}
}
//'HH:mm'に変換する
function toTime(str) {
return Utilities.formatDate(str, 'JST', 'HH:mm')
}
設定方法
設定方法はこちら↓
Googleカレンダーから今日の予定をGoogleスプレッドシートに取り込む
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】Googleカレンダー 日付をまたいで予定を登録する方法
GASからGoogleカレンダーに終日の予定を作成することができます。
日付をまたいで指定することができます。