Dobrý den, potřeboval bych poradit jak nastavit makro, aby se automaticky spouštělo v 5min intervalu.
děkuji
Automatické spuštění makra v pravidelných intervalech Vyřešeno
Re: Automatické spuštění makra v pravidelných intervalech
Například pomocí funkce Timer (Google najde stovky stránek na toto téma)
kod zkpírován odsud: http://wall.cz/index.php?m=topic&id=26298
Dodatečně přidáno po 12 minutách 39 vteřinách:
A nebob použít OnTime, srozumitelně vysvětleno zde: http://www.gymzv.sk/~vyuka/informatika/ ... _algo.html
kod zkpírován odsud: http://wall.cz/index.php?m=topic&id=26298
Kód: Vybrat vše
Sub Prodleva(Delka As Single)
Dim Kon As Single
Kon = Timer + Delka
Do While Timer < Kon
DoEvents
Loop
End Sub
Dodatečně přidáno po 12 minutách 39 vteřinách:
A nebob použít OnTime, srozumitelně vysvětleno zde: http://www.gymzv.sk/~vyuka/informatika/ ... _algo.html
- elninoslov
- Level 2.5
- Příspěvky: 373
- Registrován: červen 13
- Pohlaví:
- Stav:
Offline
Re: Automatické spuštění makra v pravidelných intervalech
S časovačmi v Excel VBA by som bol opatrný.
a.) Oneskorenie makrom (uvedený príklad) - makro stále beží, a áno dokáže lagovať. Plus žiadne ďalšie makro počas jeho behu už nespustíte.
b.) Naplánovanie OnTime - nepredvídateľné chovanie, ktoré sme už tiež na wall.cz riešili a nedobrali sa konca. Nepravidelne a nepredvídateľne sa totiž procedúra spustila aj po zatvorení zošitu (!). Pričom nezáležalo na tom, či bola pred zatvorením korektne zrušená pomocou Scheduled:=False. Proste ak sa zošit zavrel pred vykonaním naplánovaného OnTime, tak sa niekedy sám otvoril a procedúra sa vykonala, zošit ostal otvorený. Ale nie vždy - nepredvídateľne.
c.) Použitie Windows Timeru - celkom slušné, až na jednu podstatnú vec. Ak nastane Tick v dobe pauznutia makra (normálny stav napr. pri vývoji zošitu, debugovaní chyby, kontroly či ladenia a pod), tak zkolaboval celý Excel, takže neuložené veci nanovo. Je to väčšia otrava ako sa možno na prvý pohľad zdá.
Ak to všetko nebolo iba pošahanými Excelmi nás, čo sme to skúšali, tak zastávam názor, že na toto nemá Excel VBA spoľahlivé nástroje. Je to 1/2 roka možno rok, možno nejaká aktualizácia to riešila. Ja tomu neverím.
a.) Oneskorenie makrom (uvedený príklad) - makro stále beží, a áno dokáže lagovať. Plus žiadne ďalšie makro počas jeho behu už nespustíte.
b.) Naplánovanie OnTime - nepredvídateľné chovanie, ktoré sme už tiež na wall.cz riešili a nedobrali sa konca. Nepravidelne a nepredvídateľne sa totiž procedúra spustila aj po zatvorení zošitu (!). Pričom nezáležalo na tom, či bola pred zatvorením korektne zrušená pomocou Scheduled:=False. Proste ak sa zošit zavrel pred vykonaním naplánovaného OnTime, tak sa niekedy sám otvoril a procedúra sa vykonala, zošit ostal otvorený. Ale nie vždy - nepredvídateľne.
c.) Použitie Windows Timeru - celkom slušné, až na jednu podstatnú vec. Ak nastane Tick v dobe pauznutia makra (normálny stav napr. pri vývoji zošitu, debugovaní chyby, kontroly či ladenia a pod), tak zkolaboval celý Excel, takže neuložené veci nanovo. Je to väčšia otrava ako sa možno na prvý pohľad zdá.
Ak to všetko nebolo iba pošahanými Excelmi nás, čo sme to skúšali, tak zastávam názor, že na toto nemá Excel VBA spoľahlivé nástroje. Je to 1/2 roka možno rok, možno nejaká aktualizácia to riešila. Ja tomu neverím.
Re: Automatické spuštění makra v pravidelných intervalech
nakonec vyřešeno takto a zatím to běží bez problémů:
Sub auto_open()
'
' auto_open Makro
'
'
ActiveWorkbook.UpdateLink Name:= _
"XXX.xlsx" _
, Type:=xlExcelLinks
Application.OnTime Now + TimeValue("00:05:00"), "auto_open"
End Sub
děkuji za rady
Sub auto_open()
'
' auto_open Makro
'
'
ActiveWorkbook.UpdateLink Name:= _
"XXX.xlsx" _
, Type:=xlExcelLinks
Application.OnTime Now + TimeValue("00:05:00"), "auto_open"
End Sub
děkuji za rady
-
- Pohlaví:
Re: Automatické spuštění makra v pravidelných intervalech
Určitě ne žádný Timer (žádný korektní v Excelu/VBA není a nasazovat API je cesta do pekel).
OnTime je opravdu nevyzpytatelný a nebezpečný pro čas úprav, jak píše elninislov.
Jestli řešíte nějakou burzu apod., pak to chce doplněk (a technologii ve smyslu "real time data"), nebo funkční webovou službu.
OnTime je opravdu nevyzpytatelný a nebezpečný pro čas úprav, jak píše elninislov.
Jestli řešíte nějakou burzu apod., pak to chce doplněk (a technologii ve smyslu "real time data"), nebo funkční webovou službu.
Re: Automatické spuštění makra v pravidelných intervalech
xlnc píše:Určitě ne žádný Timer (žádný korektní v Excelu/VBA není a nasazovat API je cesta do pekel).
OnTime je opravdu nevyzpytatelný a nebezpečný pro čas úprav, jak píše elninislov.
Jestli řešíte nějakou burzu apod., pak to chce doplněk (a technologii ve smyslu "real time data"), nebo funkční webovou službu.
Jedná se o vizualizaci - v tom file se nepracuje, pouze je celý den zobrazen a jeho jediná funkce je, že si musí v pravidelných intervalech aktualizovat propojení na jiné soubory. Řešení který jsem psal výše funguje pro tenhle účel bez problémů - zacyklení makra s 5min prodlevou
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 1
- 684
-
od Grimm
Zobrazit poslední příspěvek
12 bře 2024 21:43
-
-
Automatické přehrávání videa Příloha(y)
od fafejt » 09 úno 2024 13:59 » v Internet a internetové prohlížeče - 4
- 1028
-
od fafejt
Zobrazit poslední příspěvek
09 úno 2024 17:30
-
-
- 4
- 4624
-
od ArtisPier
Zobrazit poslední příspěvek
26 zář 2023 12:29
-
- 4
- 1786
-
od Radoozek
Zobrazit poslední příspěvek
08 pro 2023 16:45
-
- 2
- 860
-
od Mr. Incognito
Zobrazit poslední příspěvek
30 čer 2023 19:04
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů