對于任何不清楚的地方提前道歉,我對編碼非常陌生。
我通過 Rick Pastoor ( https://rickpastoor.com/2019/05/30/google-calendar-color-coder.html ) 找到了這段代碼,可以根據事件開始的字符自動對我的 Google 日歷中的事件進行顏色編碼 (在這種情況下!,[和#)。該代碼適用于 Google Apps 腳本
function ColorEvents() {
var today = new Date();
var nextweek = new Date();
nextweek.setDate(nextweek.getDate() 7);
Logger.log(today " " nextweek);
var calendars = CalendarApp.getAllOwnedCalendars();
Logger.log("found number of calendars: " calendars.length);
for (var i = 0; i < calendars.length; i ) {
var calendar = calendars[i];
var events = calendar.getEvents(today, nextweek);
for (var j = 0; j < events.length; j ) {
var e = events[j];
var title = e.getTitle();
if (title[0] == "[") {
e.setColor(CalendarApp.EventColor.CYAN);
}
if (title[0] == "!") {
e.setColor(CalendarApp.EventColor.RED);
}
if (title[0] == '#') {
e.setColor(CalendarApp.EventColor.GREEN);
}
}
}
}
現在!,如果事件以單詞開頭,我希望它不是以 開頭的事件,而是對它進行顏色編碼:
if (title[0] == "Vacation") {
e.setColor(CalendarApp.EventColor.RED);
然而這不起作用。任何只有一個字符(字母、數字、符號)的東西都可以作業,但超過 1 個字符都不起作用,我想知道如何解決這個問題。先感謝您!
uj5u.com熱心網友回復:
title[0] 回傳事件標題的第一個字符,但是您希望匹配的不僅僅是第一個字符。
要匹配包含“假期”一詞的所有活動標題,您可以執行以下操作:
if (title.includes("Vacation")) {
e.setColor(CalendarApp.EventColor.RED);
}
要匹配與“假期”一詞完全相同的所有活動標題,您可以執行以下操作:
if (title === "Vacation") {
e.setColor(CalendarApp.EventColor.RED);
}
要僅匹配以“假期”開頭的活動標題,您可以執行以下操作:
const searchWord = "Vacation"
if (title.slice(0, searchWord.length) === searchWord) {
e.setColor(CalendarApp.EventColor.RED);
}
請注意,以上所有內容都區分大小寫,這意味著名為“假期”的事件不會被著色。我建議在比較之前將您的搜索詞和標題都小寫。例如:
if (title.toLowerCase().includes("vacation")) {
e.setColor(CalendarApp.EventColor.RED);
}
uj5u.com熱心網友回復:
在您的情況下,如何進行以下修改?
從:
if (title[0] == "!") {
到:
if ((/^Vacation/).test(title)) {
- 例如,如果要忽略大小寫,可以使用
if ((/^Vacation/i).test(title)) {.
參考:
- 測驗()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410686.html
標籤:
