0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Googleカレンダーの予定(終日)をスプレッドシートから一気に登録するGAS(コピペでOK)

Posted at

スプレッドシートの準備

A列に日付、B列に予定を書いたスプレッドシートを用意
image.png

スクリプトを用意

拡張機能>Apps scriptを開く
image.png

デフォルトのカレンダーに登録する場合

以下のコードをコピペ

// デフォルトのカレンダーに登録する場合
function myFunction_1() {
  const calender = CalendarApp.getDefaultCalendar();

  // スプレッドのシート名を指定する
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  var vals = sheet.getRange('A:B').getValues();
  // スプレッドシートの値を順番に見ていく
  for(var row_val in vals){
    var day = vals[row_val][0];
    var eventname = vals[row_val][1];
    // B列が空じゃなかった場合に該当の日付に登録する
    if(eventname!=""){
      calender.createAllDayEvent(eventname, day);
    }
  }
}

実行する
image.png

※初回は実行していいか聞かれるので許可する

カレンダーを作成してから登録する場合

Googleカレンダーのページから使うカレンダーを作成する
image.png
image.png

以下のコードをコピーしカレンダーの名前「てすとよう」の記載を変更する

// カレンダー名を指定して登録する場合
function myFunction_2() {
  // カレンダーの名前を指定する
  var calendars = CalendarApp.getCalendarsByName('てすとよう');
  const calender = calendars[0];

  // スプレッドのシート名を指定する
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
  var vals = sheet.getRange('A:B').getValues();
  // スプレッドシートの値を順番に見ていく
  for(var row_val in vals){
    var day = vals[row_val][0];
    var eventname = vals[row_val][1];
    // B列が空じゃなかった場合に該当の日付に登録する
    if(eventname!=""){
      calender.createAllDayEvent(eventname, day);
    }
  }
}

実行する
image.png

結果

登録できました
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?