2014年12月22日月曜日

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


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


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

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

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

2014年12月21日日曜日

参照して同じデータがあったら色をつける 条件付き書式の設定 つじ恵を応援してください


スプレッドシートから、MailApp.sendEmail(メルアド,タイトル,本文); は、だいぶ板について書けるようになり、アンケートをお願いします送信システムなんてのも書けるようになりました。

リストの2行目から getLastRow() まで for(var i=2; i<最終行+1; i++){処理} の繰り返し処理 で
一つずつ 
あなたのコードは** ですなど 差し込みながらメールを送ればいいわけです。 
他にもいろいろある複雑な処理

なんて便利なんでしょうか! 注意しないといけないのは、google script の場合、関数を大文字小文字を間違えると動かないってことでしょう。 htmlのクセで小文字で書くクセがあるので、よくそこで間違えていたのだが、だいぶ慣れてまいりました。 

で、はたと考えたのは、社員全員がアンケートに答えたかどうかをどうやって確認するかでして。

本当は クリックすると自動的にデータが入力できるようなものを作りたいと思いましたが、後々の汎用性を考えたら(難しそうだし)、社員に自らコードをコピペで入力してもらうことにした(社員少なかったらトリムボタンでもいい)