質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

1566閲覧

スプレットシートからカレンダーへのスケジュール追加

退会済みユーザー

退会済みユーザー

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google フォーム

Google フォームは、 Google社が提供しているアンケートフォーム作成および集計ができる無料のツール。Googleアカウントがあれば利用が可能です。集計データは、スプレッドシートに収集され、データ分析もできます。

Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2020/07/22 09:43

フォームから入力された情報をスプレットシートからカレンダーに予定として保存したいと考えています。

[スプレットシート]
イメージ説明

[GAS]
function createSchedule() {

// 連携するアカウント
const gAccount = "c_s1k58hq9pml8tehsquk0pg4qjo@.google.com";

// 読み取り範囲(表の始まり行と終わり列)
const topRow = 2;
const lastCol = 5;

// 0始まりで列を指定しておく
const dayCellNum = 0
const enddayCellNum = 1;
const titleCellNum = 2;
const locationCellNum = 3;
const descriptionCellNum = 4;

// シートを取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

// 予定の最終行を取得
var lastRow = sheet.getLastRow();

//予定の一覧を取得
var contents = sheet.getRange(topRow, 1, sheet.getLastRow(), lastCol).getValues();

// googleカレンダーの取得
var calender = CalendarApp.getCalendarById(gAccount);

//順に予定を作成(今回は正しい値が来ることを想定)
for (i = 0; i <= lastRow - topRow; i++) {

// 値をセット 日時はフォーマットして保持 var day = new Date(contents[i][dayCellNum]); var endTime = contents[i][enddayCellNum]; var title = contents[i][titleCellNum]; // 場所と詳細をセット var options = {location: contents[i][locationCellNum], description: contents[i][descriptionCellNum]}; calender.createAllDayEvent( title, new Date(day), options );

うまく動作せずにエラーを返されてしまいます。
調べながらやったのですがなぜかわからず前に進めない状態です。
恐れ入りますがご教授のほどよろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以前私が書いた記事ですが、こちらのコードですと動作するかと思います。

https://qiita.com/tanabee/items/7ebcc63e5b561d18a582

投稿2020/07/23 23:43

tanabee

総合スコア96

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/07/24 04:50

ご回答ありがとうございます! 無事にやりたいことを実現させることができました。。
tanabee

2020/07/24 04:52

良かったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問