- 公開日:
スプレッドシートとGoogle カレンダーを連携する方法
本記事では、スプレッドシートとGoogleカレンダーを効果的に連携させる方法について解説します。
スケジュール管理やタスク管理をスムーズに行いたい方必見です。
どのように設定すれば二つのツールを連携させることができるのか、具体的な手順をご紹介します。
時間の節約や作業効率を向上させるために、ぜひ活用してみてください。
スプレッドシートとGoogle カレンダーを連携する方法
スプレッドシートとGoogleカレンダーを連携する方法を紹介します。
タスクやイベントをスプレッドシートに入力し、Google Apps Scriptを使って自動的にGoogleカレンダーに同期させる方法を解説していきます。
スプレッドシートを開き、列の見出しを設定して、カレンダーに同期させる内容を入力します。
以下のように列の見出しを設定します。
A列:イベント名
B列:日付
C列:開始時間
D列:終了時間
E列:場所
F列:内容
Googleカレンダーを起動させます。
スプレッドシートの①「拡張機能」をクリックし、②「Apps Script」をクリックします。
①ファイルを選択し、②以下のコードをスクリプトエディタにコピー&ペーストします。
ファイル名は何でも構いません(デフォルトの「コード.gs」のままでも大丈夫です)。
function addEventsToCalendar() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var calendarId = 'your_calendar_id@group.calendar.google.com'; // カレンダーIDを入力
var calendar = CalendarApp.getCalendarById(calendarId);
var startRow = 2; // データが始まる行
var numRows = sheet.getLastRow() - startRow + 1; // データの行数
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var title = row[0]; // イベント名
var date = new Date(row[1]); // 日付
// 開始時間と終了時間を適切にパース
var startTimeString = Utilities.formatDate(new Date(row[2]), Session.getScriptTimeZone(), 'HH:mm');
var endTimeString = Utilities.formatDate(new Date(row[3]), Session.getScriptTimeZone(), 'HH:mm');
var startTimeParts = startTimeString.split(':');
var endTimeParts = endTimeString.split(':');
var startTime = new Date(date);
startTime.setHours(parseInt(startTimeParts[0], 10));
startTime.setMinutes(parseInt(startTimeParts[1], 10));
var endTime = new Date(date);
endTime.setHours(parseInt(endTimeParts[0], 10));
endTime.setMinutes(parseInt(endTimeParts[1], 10));
var location = row[4];
var description = row[5];
if (!title || isNaN(date) || isNaN(startTime.getTime()) || isNaN(endTime.getTime())) {
continue;
}
try {
var event = calendar.createEvent(title, startTime, endTime, {
location: location,
description: description
});
// 成功時のログ出力を削除し、エラー時のみ処理を行う
} catch (e) {
// エラーハンドリング
}
}
}
「your_calendar_id@group.calendar.google.com」の部分を、自分の「カレンダーID」に置き換えます。
マイカレンダーの中でカレンダーIDを確認したい「カレンダー名」にマウスを合わせます。
右側に表示される「縦三点リーダー」をクリックします。
表示されたメニューの中の「設定と共有」をクリックします。
設定画面で下にスクロールしていき、「カレンダーの統合」に表示されているカレンダーIDをコピーします。
先ほどの場所に自分のカレンダーIDを貼り付けます。
注意点として「'your_calendar_id@group.calendar.google.com'」の前後に入力されている、「''」の記号は消さないようにしてください。
「'自分のカレンダーID'」となるようにコピー&ペーストします。
「プロジェクトを保存」をクリックします。
実行する関数が「addEventsToCalendar」と表示されたことを確認し、「実行」をクリックします。
承認の確認画面が表示された場合は、「権限の確認」をクリックします。
スプレッドシートで使用しているアカウント名をクリックします。
「詳細」をクリックします。
「無題のプロジェクト(安全ではないページ)に移動」をクリックします。
「許可」ボタンをクリックします。
スクリプトの実行が開始され、正常にカレンダーと連携されると、実行ログに「実行完了」と表示されます。
カレンダーにスプレッドシートの予定表が自動入力されたことが確認できます。
スプレッドシートとGoogle カレンダーを連携させることが出来ました。