-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
válasz
pube111
#46859
üzenetére
Szia,
Az eredeti kódban van pár hiba:
1.var calendarID = spreadsheet.getRange("C4").getValue();
C4-es cellára hivatkozik a kód, de a minta fájlban inkább B3-ban van a naptár-azonosító.
2.var eventCal = CalendarApp.getCalendarById("calendarId");
Itt 2 hiba is van; nem kell aposztrófok közé tenni a calendarId-t a végén és helyesen is kell írni a változó nevét, ami calendarID.Ezen hibák miatt nem fog tudni csatlakozni a naptárhoz, nem tud beleírni. Ez eredményezi a cannot read hibaüzenetet.
Egy kicsit átdolgoztam a kódot.
function scheduleShifts() {
//csatlakozás a google tablázatok aktív munkalapjához
const spreadsheet = SpreadsheetApp.getActiveSheet();
//a C2-es cellában lévő naptárazonosító kiolvasása
const calendarID = spreadsheet.getRange("C2").getValue();
//csatlakozás a fent megadott naptárhoz
const eventCal = CalendarApp.getCalendarById(calendarID);
//utolsó használt sor azonosítója
const lastRow = spreadsheet.getLastRow();
if (lastRow >= 5) {
//5-ös sortól kezdve kiolvassuk az adatokat
for (let i = 5; i <=lastRow; i++) {
//ha az aktuális sor D oszlopa üres, akkor A,B,C oszlopok alapján létrehozzuk az eseményt
if (spreadsheet.getRange("D" + i).getValue() == "") {
let title = spreadsheet.getRange("C" + i).getValue();
let startTime = spreadsheet.getRange("A" + i).getValue();
let endTime = spreadsheet.getRange("B" + i).getValue();
eventCal.createEvent(title, startTime, endTime);
//D-oszlopba teszünk egy x-et
spreadsheet.getRange("D" + i).setValue("x");
}
}
}
}A sablon hozzá pedig így néz ki:

A kód az 5-ös sortól indulva minden eseményt hozzáad a naptárhoz, ahol a kész oszlop üres.
A kommentek alapján tudod finomítani.üdv
-
pube111
senior tag
válasz
pube111
#46856
üzenetére
Itt tartok:
function scheduleShifts() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var calendarID = spreadsheet.getRange("M1").getValue();
var eventCal = CalendarApp.getCalendarById("calendarID");
var signups = spreadsheet.getRange("A2:C12").getValues();
for (x=0; x<signups.length; x++)
{
var shift = signups[x];
var startTime = shift[0];
var endTime = shift[1];
var volunteer = shift[2];
eventCal.createEvent(volunteer, startTime, endTime);
}
}
ezt a hibát dobja futtatásra:TypeError: Cannot read property 'createEvent' of null
scheduleShifts @ másolás naptárba.gs:14
ez mit jelent? -
Mutt
senior tag
válasz
pube111
#46306
üzenetére
Szia,
Talán vmi ilyen kell:
function sendEmails() {
var alapDatum = new Date(2021,2,1); // 0-11 a hónapok számozása
var maiDatum = new Date();
var ss=SpreadsheetApp.getActiveSpreadsheet();
var cellaA1 = ss.getRange("A1").getValue();
if (cellaA1.length == 0 && maiDatum > alapDatum) {
var emailAddress = 'valami@gmail.com';
var message = 'üzenet';
var subject = 'tárgy';
MailApp.sendEmail(emailAddress, subject, message);
}
}üdv
-
pube111
senior tag
válasz
pube111
#46306
üzenetére
Közben rájöttem, hogy ahhoz meg kell nyitni a táblázatot, hogy lefusson a függvény. Nekem meg a háttérben kellene működnie naponta egyszer.
A szerkesztőben találtam olyan triggert, hogy naponta fusson le a szkript. Ehhez viszont a szkriptbe kellene betenni a cella és dátum figyelést.
Azt meg lehet oldani?
Új hozzászólás Aktív témák
- Milyen CPU léghűtést vegyek?
- Videó stream letöltése
- Google Pixel topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- NFL és amerikai futball topik - Spoiler veszély!
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Lexus, Toyota topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Diablo IV
- Kutyának sem kellenek a 8 GB-os VGA-k?
- További aktív témák...
- HP 14 Elitebook 840 G7 FHD IPS i5-10210U 4.2Ghz 16GB 256GB SSD Intel UHD Graphics Win11 Pro Garancia
- BESZÁMÍTÁS! MSI PRO X670-P R5 7600X 32GB DDR5 1TB SSD RX 6900 XT 16GB ZALMAN Z1 Plus Asus 1000W
- Lenovo ThinkPad X1 Active Noise Cancellation fejhallgató
- HIBÁTLAN iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3276
- Sanyo akkutöltő + 2 használható akku
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest
Fferi50
