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

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

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

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

Google カレンダー

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

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

2027閲覧

GASのカレンダー操作でsetColor()がうまくいきません

sysysysy

総合スコア4

Google スプレッドシート

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

Google カレンダー

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

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/05/06 08:59

GASでスプレッドシートからカレンダー入力をするプログラムを書いています。
イベントにアサインされる人物によって色分けをしたいのですが、どうしてもうまくいかず、黒い背景になってしまいます。

javascript

1thisevent = CalendarApp.getCalendarById('xxxxxxxxxxxxxx@xxxxxx.com'); 2if (mystart != "") { 3 thisevent.createAllDayEvent("["+mydetail+"]"+myevent, mystart); 4 if (who == "◯◯"){ 5 var color = CalendarApp.EventColor.RED; 6 Logger.log(color) 7 } 8 else if (who == "××"){ 9 var color = CalendarApp.EventColor.BLUE; 10 Logger.log(color) 11 } 12 thisevent.setColor(color); 13 }

上記のコードに何かおかしい点はありますでしょうか?
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

イベントごとに色分けしたいのであればsetColorする対象を間違えています。

JavaScript

1const calendar = CalendarApp.getCalendarById("xxxxxxxxxxxxxx@xxxxxx.com"); 2if (mystart != "") { 3 const thisevent = calendar.createAllDayEvent("[" + mydetail + "]" + myevent, mystart); 4 if (who == "◯◯") { 5 var color = CalendarApp.EventColor.RED; 6 Logger.log(color); 7 thisevent.setColor(color); 8 } else if (who == "××") { 9 var color = CalendarApp.EventColor.BLUE; 10 Logger.log(color); 11 thisevent.setColor(color); 12 } 13}

投稿2021/05/06 09:24

draq

総合スコア2573

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

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

0

ベストアンサー

javascript

1const q336871 = () => { 2 const thisevent = CalendarApp.getDefaultCalendar(); 3 const currentCalendarColour = thisevent.getColor(); // #FFFFFF 4 const mystart = "a"; 5 const who= "◯◯" 6 if (mystart != "") { 7 const colour = 8 thisevent.createAllDayEvent("a", new Date()).setColor(CalendarApp.EventColor.RED).setColor(q336871_getColour(who)); 9 thisevent.setColor(currentCalendarColour); 10 } 11} 12const q336871_getColour = (who) => { 13 if (who == "◯◯"){ 14 return CalendarApp.EventColor.RED; 15 } 16 if (who == "××"){ 17 return CalendarApp.EventColor.BLUE; 18 } 19 return CalenderApp.EventColor.MAUVE; 20 //https://developers.google.com/apps-script/reference/calendar/event-color 21} 22

投稿2021/05/06 14:12

papinianus

総合スコア12705

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

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

sysysysy

2021/05/07 02:07

ありがとうございます! 少し変更を加えたら無事に動きましたmm
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問