Jste zde: Úvodní stránka » excel » vba-priklady-kodu » vba-excel-automaticke-spusteni-skriptu
Excel VBA - automatické spuštění skriptu
Jak nastavit Excel VBA, aby se po spuštění spustil patřičný skript...
Článek aktualizován a doplněn.
Úvod
Chceme-li aby při spuštění MS Excel vykonal nějakou činnost. Máme volbu:
- Provedení skriptu pokaždé - tj. pokud soubor bude spuštěn ručně, nebo vzdáleně skriptem.
- Provedení skriptu jen při ručním spuštění - tj. pokud soubor bude spuštěn skriptem nebude požadovaná činnost vykonána.
- Provedení skriptu automaticky - pouze při otevření skriptem.
Automatické spuštění skriptu při otevření sešitu
Při automatickém i ručním spuštění tohoto souboru.
Jak na to? Úplně jednoduše do ThisWorkbook vložíme následující kod:
Private Sub Workbook_Open()
MsgBox "office.lasakovi.com"
End Sub
Poznámka: Po spuštění excelu se nám zobrazí dialogové okno s textem: "office.lasakovi.com". Tj. při události (otevření sešitu) se spustí požadovaný kod (zobrazení dialogového okna).
Automatické spuštění skriptu při "ručním" volání.
Skript bude proveden pouze pokud soubor bude spuštěn ručně.
Jak na to? Použít příkaz Auto_Open, vložit do modulu
Sub Auto_Open()
MsgBox "spuštěno ručně"
End Sub
Spuštění skriptu v souboru volaným skriptem.
Kód doplnit do skriptu, který tento soubor volá...
Závěr
Tento text je napsán záměrně jelikož se mi množily dotazy jak spouštět makro při otevření Excelovského souboru. Předpokládám, že umíte spustit Visual Basic a víte jak vložit do ThisWorkbook patřičný kód.
Článek byl aktualizován: 21.01.2012 14:55
Další články k tématu
- Automatické spuštění skriptu - právě čtete
Komentáře
Pavel Lasák
Přidáno: 09.03.11 18:01
Pro otevření formuláře při spuštění Excel:
Private Sub Workbook_Open()
On Error Resume Next
Userform1.show
End Sub
Ondřej
Přidáno: 17.03.11 20:54
Dobrý den, bylo by možné nějakým způsobem nastavit automatické vypnutí excelu například po pěti minutách nečinnosti? Děkuji
Pavel Lasák
Přidáno: 18.03.11 18:04
To Ondřej:
Jde třeba takhle. První makro za 30 sec spustí druhé. Druhe pak Excel ukonči:
Sub Ukonci30sec()
Application.OnTime Now + TimeValue("00:00:30"), "MujKonec"
End Sub
Sub MujKonec()
Application.DisplayAlerts = False
Application.Quit
End Sub
Ondřej
Přidáno: 18.03.11 21:38
Dobrý den, tak bohužel toto jsem překopíroval do basicu a nic se po třiceti vteřinách nečinnosti v excelu nestalo. tak nevim, kde je problem.
Pavel Lasák
Přidáno: 19.03.11 13:16
Ondřej: Je potřeba spustit makro Ukonci30sec. Případně spuštění zajistit automaticky při spuštění MS Excel viz tento článek. tj. MsgBox "office.lasakovi.com" nahradit Application.OnTime Now + TimeValue("00:00:30"), "MujKonec"
Ondřej
Přidáno: 20.03.11 05:34
Dobrý den, děkuji za radu. O to mi právě šlo. Jen mi nyny píše Excel při automatickém spuštění prvního makra - nelze najít makro MujKonec. Přitom jsem oba příkazy správně zadal do basicu. Díky
Pavel Lasák
Přidáno: 20.03.11 10:02
To Ondřej: Máte MujKonec v "Module1" tj. Když si zobrazíte makra musíte vidět makro "MujKonec" ne "ThisWorkbook.MujKonec"
Pavel Lasák
Přidáno: 20.03.11 10:15
To Ondřej: ukázka http://www.uloz.to/8356028/ukonci-excel-xlsm
Ondřej
Přidáno: 20.03.11 20:38
Děkuji za příklad. Jen bych poprosil ve verzi 97-miček. XLSM nemohu otevřít.
Pavel Lasák
Přidáno: 22.03.11 19:01
To Ondřej: tak i ve verzi 97... http://www.uloz.to/8388545/ukonci-excel-xls
fugisk
Přidáno: 08.01.12 16:14
daju sa pouzit i makra : Sub auto_open() ... Sub auto_close() ...
Pavel Lasák
Přidáno: 09.01.12 20:05
To fugist: To je pravda, ale Auto_Open se spustiti pouze při otevření sešitu ručně, u Workbook_Open funguje i když spustím pomocí kódu z jiného sešitu.
Karel
Přidáno: 21.01.12 11:25
Dobrý den, já mám opačný problém. Jak zajistit, aby se u sešitu, které automaticky spouští makro, se toto makro nespustilo, když ho otvírám pomocí kódu z jiného sešitu příkazem Workbooks.Open Filename:="xxx" Děkuji za radu.
Pavel Lasák
Přidáno: 21.01.12 14:31
To Karel: Použít příkaz Auto_Open, vložit do modulu
Sub Auto_Open()
MsgBox "spuštěno ručně"
End Sub
Přidání nového komentáře
Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu.
Nejnovější článek
Z článku o
excel jsem jako poslední přidal či upravil článek
05.02.2012:
Je atribut souboru pouze pro čtení - VBA Excel.
Nejčtenější článek
Excel
- Základy MS Excel
- menu Soubor
- Formát dat
- Vložit
- Grafy
- Vzorce (Funkce)
- Matice
- Data
- Revize (Nástroje)
- VBA Úvod a seznamy článků
- VBA Teorie základy
- VBA Listy a buňky
- VBA Práce se soubory
- VBA Formuláře (UserForm)
- VBA Grafy
- VBA Application
- VBA Triky
- VBA praktické příklady kódu
- Praktické příklady
- Finanční poradce
- Šablony - Templates
- Testy
- Ostatní
Novinky
24.10.2011:
Formátování styly - MS Word 2010
Excel
05.02.2012:
Je atribut souboru pouze pro čtení - VBA Excel
Access
15.11.2010:
Automatický formulář - Access 2010
Power Point
12.06.2011:
Karta Vložení - PowerPoint 2010
Outlook - 25.02.2010:
Menu Soubor - Outlook 2010
Project
19.01.2012:
Time management - úvod
OneNote
17.10.2010:
OneNote 2010 – popis obrazovky
Poděkování
Stránky o MS Office produktu společnosti Micosoft. Neslouží jako technická podpora.
| XHTML 1.1 | CSS | Email na autora: lasak@centrum.cz | Copyright: Pavel a Danka 2006 - 2012 |
432
Tento web zatím neprošel jazykovou korekturou.
Vlastní redakční systém pohánějící tento web je v BETA verzi, omluvte případné problémy.