2014年12月22日月曜日

Spreadsheetのデータをカレンダーに一気に登録するスクリプト


まず、カレンダーを準備します。
共有設定ですが、 下の図のようにして、ユーザーを追加を押すとなぜか閲覧権限になってしまうんですよ。 たぶんバグだと思うんですが、追加して、そのまま保存でお願いします。


これに何気に時間かかったよ。
で、これの固有のカレンダーIDも取得します。

Spreadsheetはこんな感じです。
よくある、カレンダーで日付を入力し、開始時間と終了時間は、データの検証で選べるように設定しています。 この時、別枠に選択データを入力しているのですが、あえてテキストを設定しておきます。

で、カレンダーIDを指定して、createEvent()でデータを追加したらいいだけなんですけど、
この日付を単純に+につなげないのでした。



日付のフォーマットする仕様が不思議です。この記事を見つけてできました。

細かいところにアナがありますね…。なんで MMなんやろ… で、日付は dd なんやろw

いろいろして、これでできました。すぐできると思ったのに、やはり3時間ほどかかりました。

悲しかった。

でも、これ便利かと思います。 


ちなみに、その月のシートの名前をゲットせよという命令は…

var ms = SpreadsheetApp.getActiveSpreadsheet();
var month = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yy年MM月'); //月
var msh = ms.getSheetByName(month);

でしたらうまく動きました。 yyyy年にしたり、 yyyyMMなどで指定するとうまくゲットできません。

しかも、急にそうなったように思います…困るわ…


お問合せフォーム

お名前 :
Email: (必須)
メッセージ: (必須)


0 コメント :

コメントを投稿



連絡フォーム

名前

メール *

メッセージ *

サイト内検索

View My Stats