スプレッドシートに入力した値を元に、カレンダーの予定をまとめて作成することができるGoogle Apps Scriptです。
特にありません。今お使いのスプレッドシートに組み込めます。
スプレッドシートに書いてある情報を元に、指定したカレンダーに予定を追加します。
カレンダーの予定作成に必要な情報を、シートにまとめます。
1行目は項目として無視しますので、2行目以降に下記情報を入力します。
上のメニューに有る「スクリプト実行」から「カレンダーの予定を一括作成する」を実行します。
カレンダーID、またはメールアドレスを入力します。
自分の予定を出力する場合は、自分のGmailアドレスを入力してください。
他人のカレンダーに追加したい場合は、その人のカレンダーを自分のGoogleカレンダーに追加し、「設定」からカレンダーIDをコピーして入力してください。
なお、そのカレンダーに対して「予定の変更」以上のアクセス権限が無いと予定の作成はできません。
カレンダーを見てみると、シートに入力した内容で予定が作成されています。
説明も反映されていますね。
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00051/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
// UIの取得
const ui = SpreadsheetApp.getUi()
// メニューの表示名
const menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('カレンダーの予定を一括作成する', 'create_calendar_schedule');
// メニューを画面に追加する
menu.addToUi();
}
function create_calendar_schedule() {
// UIを取得
const ui = SpreadsheetApp.getUi();
// アクティブなスプレッドシート、シートを取得
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// カレンダーIDを入力させる
const response = ui.prompt('予定を追加するカレンダーのID またはメールアドレスを入力してください', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたらスクリプトを終了する
if (response.getSelectedButton() == ui.Button.CANCEL) {
return;
}
// 入力された文字(カレンダーID)を取得する
const calendar_id = response.getResponseText();
// カレンダーを取得
const calendar = CalendarApp.getCalendarById(calendar_id);
// 予定の情報をスプレッドシートから取得する
const range = sheet.getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn());
const values = range.getValues();
// ループして1行ずつ予定を作成していく
for (let i = 1; i < values.length; i++) { // 1行目は項目名なので開始値は1
let title = values[i][0]; //予定のタイトル
let begin = values[i][1]; //予定の開始日時
let end = values[i][2]; //予定の終了日時
let description = values[i][3]; //予定の説明
let location = values[i][4]; //場所
// 説明と場所はoption
let options = {
description: description,
location: location
}
// 予定を作成する
calendar.createEvent(title, begin, end, options);
}
}
年と月を指定すると、セルにカレンダーが出現するGoogle Apps Scriptです。カレンダーを入れたくなって調べてみたら標準機能にはなく、数式でやるにも結構面倒な感じだったので一発で作ってくれるGASを書いてみました。想像の3倍は面倒でした・・・。
指定した年の12ヶ月分のカレンダーを生成してくれるGoogle Apps Scriptです。前回作成した「指定した月のカレンダーを生成する」スクリプトをベースに、1年分出力するように変更してみました。横3 ✕ 縦4の形式で生成されます。
Googleが用意してくれている祝日カレンダーをもとに、1年間の祝日をスプレッドシートに出力するGoogle Apps Scriptです。 祝日は年によって変わったりするので確認が面倒なのと、国外との取引がある時にその国の祝日がわかれば便利だなと思い作成しました。
インターネット上にあるCSVファイルをシートに直接取り込むGoogle Apps Scriptです。オープンデータ等の取り込みが楽になるかもしれません。
Google カレンダーの予定を、スプレッドシートにまとめて出力するGoogle Apps Scriptです。カレンダーIDはダイアログボックスで入力できます。
Googleカレンダーの予定を全て非公開にするGoogle Apps Scriptです。組織内で使っているとカレンダー自体は共有されていますので、隠したい予定は個別に非公開化する必要があります。誤って公開している予定が大量にある時にどうぞ。
Googleカレンダーの今日の予定をSlackに通知してくれるGoogle Apps Scriptです。1日分の予定は朝にまとめて知りたいですよね。SlackのIncoming Webhookを使用しています。
アクティブセルを起点に、Nヶ月後までの日付を出力するGoogle Apps Scriptです。日本の祝日も表示してくれますので、予定表やガントチャートを作るときにどうぞ。
指定した日の空いている時間すべてに予定を入れてくれるGoogle Apps Scriptです。予定を入れられたくないときにいかがでしょうか?