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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

1198閲覧

googleカレンダーからスプレットシートに出力

Illas

総合スコア18

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2019/06/09 12:03

編集2019/06/10 08:51

前提・実現したいこと

GASを用いてgoogleカレンダーの情報をスプレットシートに出力したいです。
内容はイベントではなく、日時をシートに出力したいです。

発生している問題・エラーメッセージ

sheet.getRange(range, 3).setValue(schedules[index].getStartTime()).setNumberFormat(FORMAT_TIME); 上記のコードに下記のエラーが出ます。 TypeError: null のメソッド「getRange」を呼び出せません。

該当のソースコード

// スプレッドシート:開始位置
var RANGE = 2;
// シート情報を取得
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シートID');
// カレンダー情報を取得
var calender = CalendarApp.getCalendarById("カレンダーID");
// 当日の予定を取得
var schedules = calender.getEventsForDay(new Date());

// 予定を繰り返し出力する
for(var index = 0; index < schedules.length; index++) {
var range = RANGE + index;
// 開始時間を出力
sheet.getRange(range, 3).setValue(schedules[index].getStartTime()).setNumberFormat(FORMAT_TIME);
// 終了時間を出力
sheet.getRange(range, 4).setValue(schedules[index].getEndTime()).setNumberFormat(FORMAT_TIME);
// 予定名を出力
sheet.getRange(range, 5).setValue(schedules[index].getTitle());

試したこと

for(var index != 0; index < schedules.length; index++) {
var range = RANGE + index;


for(var index not= 0; index < schedules.length; index++) {
var range = RANGE + index;

補足情報(FW/ツールのバージョンなど)

mac

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

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

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

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

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

fumito_94

2019/06/09 12:18

こちら何かエラーが起こっているのでしょうか? もしそうでしたらエラー文を載せて欲しいです! どこかが間違っているからそれを探してください、という質問なのでしょうか?
Illas

2019/06/09 13:24

ご指摘ありがとうございます。 上記のコードでは実行できず困っています。 間違っている点を教えていただけると幸いです。
guest

回答1

0

ベストアンサー

TypeError: null のメソッド「getRange」を呼び出せません。の原因は、sheet.getRange(range, 3)sheetnullであることが原因です。

おそらくgetSheetByName('シートID')シートIDが間違っているのではないかと思われます。もしも、getSheetByName('シートID')シートIDがスプレッドシートそのもののIDの場合は、スプレッドシート内に存在するシート名を指定してみてください。

参考

投稿2019/06/09 21:52

kisojin

総合スコア899

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

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

Illas

2019/06/10 08:51

ありがとうございます。指定が間違っていたみたいです。初歩的なことに気付きませんでした。
kisojin

2019/06/19 11:51

無事解決したとのことで安心しました。ご連絡有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問