見出し画像

コピペで使える【GAS】でスプレッドシートの日付をGoogleカレンダーに自動登録するスクリプト

こんにちわ。小企業Web担のOYAKUNです。

今回はGoogleスプレッドシートへ入力した日付・時間を、Googleカレンダーに自動登録するスクリプトを紹介します。

スプレッドシートのイベントがGoogleカレンダーへ登録される様子

GoogleスプレッドシートからGoogleカレンダーへ自動登録ができることで、スケジュールの作成時・共有時に威力を発揮するかと思います。

ノンプログラマーの方(自分)でも簡単にコピペで再現できるよう、なるべく簡単なプログラムソースにしています。

少しでも皆様の生活のお役に立てれば幸いです。

なお、シートへ記入した日付をGoogleカレンダーへ自動登録するまでの手順は以下のとおりです。

  • 手順1. スプレッドシートに見出しを作成する

  • 手順2. イベント・日付・開始・終了時間を記入する

  • 手順3. オリジナルメニューを作成する

  • 手順4. シートからカレンダー登録するスクリプトを作成する

  • 手順5. Googleカレンダーへ登録されることを確認する

手順1. スプレッドシートに見出しを作成する

最初にGoogleカレンダーと連動させるための、Googleスプレッドシートを開きます。(アカウントは無料のGmailアカウントでOKです)

spreadsheet-newadd
スプレッドシートを新規作成する様子

次にスプレッドシートファイルにタイトルを付与します。

スプレッドシートにタイトルを作成した様子

タイトルが付与できたら1行目に見出しを作成します。

スプレッドシートに見出しを作成した様子

A1~E1に以下のとおり見出しを記入します。

  • A1セル:イベント

  • B1セル:イベント日

  • C1セル:開始時間

  • D1セル:終了時間

  • E1セル:登録

見出し作成時のポイント

イベント名やイベント日など、常に記入するテキストと識別しやすいように見出しセル箇所は装飾しておきます。誤って見出しを消さないようにA1~E1セル範囲を保護設定しておくと良いでしょう。

シートの範囲を絞って保護設定する様子

手順2. イベント・日付・開始・終了時間を記入する

Googleカレンダーへ登録させたいイベントを作成し、該当範囲へ記入します。

各セルにカレンダー登録するイベント情報を記入する様子

記入するデータ内訳は以下のとおりです。

  • A2セル:登録したいイベント名

  • B2セル:登録したい日付(yyyy/MM/dd形式 ※表示形式は変更可能)

  • C2セル:開始時間

  • D2セル:終了時間

  • E2セル:無記入(スクリプト実行後に自動入力されるセル)

B2セルのイベント日は、※ひとまずyyyy/MM/dd形式(例:2022/12/28)で入力してください。

※Javascriptが分かる方は、日付の表示形式を自由に編集してもらって大丈夫です。

イベント登録時のポイント

数字はすべて半角で入力します。B列のイベント日は、メニューのデータ > データの入力規則 にて「日付」を設定してあげることで、ダブルクリックで日付選択・入力を可能にします。B列自体を「日付」の入力設定にすると良いでしょう。

データ入力規則でダブルクリックで日付入力できる設定を施した様子

手順3. ワンクリックで自動登録するオリジナルメニューを作成する

手順2で記入したイベントを、任意のタイミングで実行するスイッチをGoogleAppsScriptで作成します。

GoogleAppsScript実行のオリジナルスイッチ実装のイメージ

手順1で使用したスプレッドシートの「メニュー > 拡張機能 > AppsScript」 をクリック

拡張機能からAppsScriptエディタを選択する様子

AppsScriptの画面が開きます。

AppsScriptを開いた様子

AppsScriptのファイルに名前を作成します。

AppsScriptファイル名を編集する様子

実行する内容に沿ったタイトルを付与すると、後から管理がしやすくおすすめです。

AppsScriptエディタに命名した様子

AppsScriptのエディタに命名したら、以下のコードをすべてコピー・エディタに貼り付け…

function onOpen(){ 
SpreadsheetApp.getUi()   
.createMenu("私のメニュー")   
.addItem('Cal登録','addcal') 
.addToUi();
}

上書き保存します。
保存しないとコードは動作しないいので、コードを編集したら必ず上書き保存を行います。

AppsScriptにコードを貼り付けて上書き保存した様子

※貼り付けの際、初めに記述されているコードを削除して・または上からすべて貼り付けでOKです。

上記スクリプトをコピペ・上書きしたら、スプレッドシートの画面に戻り「ブラウザリロード」を行うことで、オリジナルメニューが表示されます。

ブラウザリロードを実行した様子

ブラウザリロードはブラウザに常設されている「矢印アイコン」をクリックしてください。

ブラウザリロードの矢印アイコンの場所

ブラウザリロードのポイント

gasのonOpen()メソッドは、Windows・Macともショートカットキーによるリロードでは反映されません。そのため、ブラウザ側に常設されている矢印ボタンをクリックして、GoogleAppsScriptのオリジナルメニューを表示させます。

リロードすることで、シート上にオリジナルメニューが実装されているはずです。

実装されるオリジナルメニュー

手順4にて、シートからGoogleカレンダーへイベント登録するスクリプトを紹介します。

手順4. シートからカレンダー登録するスクリプトを作成する

イベントをカレンダーに登録するスクリプトを書きます。

GoogleAppsScriptのサンプル画像

手順3で作成したコードの下に、新しくコードを作成・または貼り付けます。

スクリプトを実装する場所

コピペするコードは以下のとおりです。

ここから先は

2,707字 / 4画像

¥ 500

この記事が気に入ったらサポートをしてみませんか?