-
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
- A fociról könnyedén, egy baráti társaságban
- Jogász topik
- NOTEBOOK / NETBOOK / Mac beárazás
- Formula-1
- Milyen légkondit a lakásba?
- eBay-es kütyük kis pénzért
- Motoros topic
- Mikrotik routerek
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 Mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4066, 94% AKKSI
- Eladó iPad Pro 12.9 tokok többféle színben és kivitelben!
- Újra raktáron! MacBook Pro 14" M1 32GB RAM 27%-os áfás számla
- LG 40U990A-W / 40" Ívelt Nano IPS Black / 5K UHD 120Hz / 2x ThunderBolt 5.0 / Adobe RGB 99%
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50