< návrat zpět

MS Excel


Téma: Automatické upozorňovanie rss

Zaslal/a 28.11.2011 20:56

Dobrý deň. Existuje nejaká funkcia ktorá by ma upozornila, že sa blíži určitý čas - úloha.

Mám túto tabuľku https://docs.google.com/spreadsheet/pub?key=0ArRYegh9STlodDZYdndGa19RZ3dXY25EZDZvZjhYUUE&output=html ...
Chcem aby ma upozornilo minútu pred pravidelným príchodom/odchodom vlaku. Ak by sa dalo, tak v poznámkach sú ešte aj obmedzenia na určité dni, kedy tie vlaky idú, ale to už by bolo zložité. Dá sa niečo také v Exceli ?

Ďakujem. 1

Zaslat odpověď >

#006573
avatar
Ešte dodám, že chcem, aby ma to upozornilo zvukovo. Googlim na nete, ale akosi nič... 4citovat
icon #006575
avatar
No, riešenie na kľúč nedodám, ale skúsim naviesť. Keby som to riešil ja, tak by som si v Exceli pripravil nejaký výcuc tej vstupnej tabuľky len pre vlaky, ktoré ma zaujímajú. Vo VBA by som si vytvoril nejakú array s časmi príchodov/odchodov. Vytvoril by som cyklus (pre postupnosť jednotlivých časov) a pomocou metódy OnTime volal v tom cykle ten pípák...citovat
icon #006576
Poki
Zdravim,
nemyslim si, ze Excel je idealni nastroj na upozornovani, nicmene...ja bych to asi udelal podobne jako AL:
1) udelat (asi pomoci vzorcu) vycuc z tabulky pro vlaky, ktery me zajimaji
2) jako posledni sloupec bych pridal rozdil soucasneho casu a odjezdu vlaku (upraveny o pozadovany rozdil upozorneni)
3) cyklem projit vsechny tyto hodnoty (bod 2) a pokud bude nektera zaporna, spustit upozorneni - samozrejme, ze cyklus se bude muset spoustet napr. kazdych 5 min nebo 1 min.

Zde je makro na spusteni jakehokoliv systemoveho zvuku:
Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Sub PlaySound()
If Application.CanPlaySounds Then
Call sndPlaySound32("c:\windows\media\Windows XP - příchozí volání.wav", 0)
End If
End Sub
citovat
#006577
Jeza.m
Ani já si nemyslím, že excel v takovéto podobě je to pravé - přeci jen to vyžaduje mít daný excelový soubor neustále spuštěný. Excel timer jako takový nemá, ale lze použít použít příkaz Application.ontime, pro časované spouštění procedury - tato prohledá sloupec s odjezdy, kdy od odjezdu odečte minutu a porovná hodinu a minutu s aktuální, pokud souhlasí, tak zahraje. Zároveň když dojede na konec prohledávací procedury, tak si znova naplánuje znovuspuštění procedury za další minutu.

Posílám jen tak narychlo vytvořenou přílohu ... asi nebude fungovat na 100%.

M@citovat
#006578
Jeza.m
Ještě jeden pokus přílohy, jinak nevím, přidám i kód :-):

Do modulu vložit:
'Deklarace
Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

'Konstanty
Public Const SND_SYNC = &H0

Public Sub zahraj()
sndPlaySound "tada.wav", SND_SYNC 'do uvozovek si vložte adresu k souboru, včetně názvu
End Sub

Public Sub stop_play() 'není použito, ale bude-li zvuk delší a chcete-li ho stopnout, tak lze použít
sndPlaySound vbNullString, 0
End Sub

Public Sub casovac()
If Cells(2, 2) = 1 Then Application.OnTime Now + (1 / 24 / 60), "over"

End Sub

Public Sub over()
For rd = 4 To List1.UsedRange.Rows.Count
If Cells(rd, 10) <> "končiaci" Then
If Hour(Time) = Hour(Cells(rd, 10) - (1 / 24 / 60)) And Minute(Time) = Minute(Cells(rd, 10) - (1 / 24 / 60)) Then zahraj
End If
Next
Call casovac
End Sub

Public Sub spustit()
Cells(2, 2) = 1
Call casovac
End Sub

Public Sub zastavit()
Cells(2, 2) = 0
End Sub


Ve sloupci 10 jsou odjezdy a oblast začíná řádkem 4. Buňka B2 obsahuje buď 1, nebo 0 - má-li se naplánovat další úloha, či nikoliv.

Na ploše 2 tlačítka:
1) spouští makro "Spustit"
2) spouští makro "Zastavit"

M@citovat
#006579
avatar
Samozrejme Excel by som mal stále spustený, tak to by nebolo treba riešiť, aby sa ešte aj ten spúšťal.

Jeza.m: Tento návrh sa mi páči. Prílohu keď tak na mail - shhhhhark@gmail.com. Díki moc ešte raz.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse