Ahoj,
prosím o radu.
Mám soubor kde mám vložené makro Workbook_Open. To má za úkol načíst data z DB, aktualizovat kont. tabulky, odeslat emaily a zavřít soubor.
Tento soubor mám napojený na naplánované ulohy ve win.
Dá se nějak upravit, aby při spuštění jinak, než z naplánované ulohy se makro WB_open nespustilo?
Když chci soubor editovat, tak je makro tak rychlé, že ho mnohdy nestihnu zastavit pomocí ESC
Díky za pomoc
Jirka
EXCEL- Otevření souboru bez spuštění makra Workbook_open Vyřešeno
-
- Level 4.5
- Příspěvky: 1544
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open
Makro WorkBook_Open si můžeš ručně krokovat.
Otevři sešit, povol makra (pokud máš střední zabezpečení), makro proběhne, vlez do VBA a tam si ho ručně odkrokuj.
Otevři sešit, povol makra (pokud máš střední zabezpečení), makro proběhne, vlez do VBA a tam si ho ručně odkrokuj.
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open
Zkuste parametr /a
z přík. řádku:
start excel soubor /a
z přík. řádku:
start excel soubor /a
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open
No jde o to, že excel otvírám 1000 krát za směnu, takže zabezpečení mám vypnuto. Takže po spuštění se rovnou makro spustí a než ho stihnu přerušit, tak se vykoná a ukončí a zavře se soubor. Takhle probíhá několik pokusů, než se to povede.
Napadlo mě zda je možné např. pomocí cmd příkazu otevřít excel. soubor s makry zakázanými (např: přetáhnutím souboru na zástupce)
Napadlo mě zda je možné např. pomocí cmd příkazu otevřít excel. soubor s makry zakázanými (např: přetáhnutím souboru na zástupce)
-
- Pohlaví:
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open
a) Existovaly pokusy, které s pomocí API funkce ve VBA testovaly parametry příkazového řádku Excelu při spuštění. Nedělal bych to.
b) Nejrozumnější mi přijde před voláním z tasks nastavit proměnnou v INI souboru nebo položku registru, kterou si procedura testuje a po ukončení úlohy vrátit do původního stavu. To při ručním spuštění dělat nebudete a procedura tedy neproběhne.
Poznámky:
Kromě Workbook_Open (WO) existuje ještě Auto_Open (AO), která nastává pouze při manuálním otevření sešitu. Jsou-li v sešitu obě, programové spuštění sešitu vyvolá jako první WO, poté AO. Vám je tohle info ale k ničemu (nebo nevím, jak obrátit tuhle chaloupku "vchodem k sobě".)
Úloha nejspíš ani není řešitelná volitelným parametrem procedury (s výchozí nastavenou hodnotou).
b) Nejrozumnější mi přijde před voláním z tasks nastavit proměnnou v INI souboru nebo položku registru, kterou si procedura testuje a po ukončení úlohy vrátit do původního stavu. To při ručním spuštění dělat nebudete a procedura tedy neproběhne.
Poznámky:
Kromě Workbook_Open (WO) existuje ještě Auto_Open (AO), která nastává pouze při manuálním otevření sešitu. Jsou-li v sešitu obě, programové spuštění sešitu vyvolá jako první WO, poté AO. Vám je tohle info ale k ničemu (nebo nevím, jak obrátit tuhle chaloupku "vchodem k sobě".)
Úloha nejspíš ani není řešitelná volitelným parametrem procedury (s výchozí nastavenou hodnotou).
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open
Podobnou věc jsem už řešila a jediné schůdné řešení pro mě bylo vytvoření "oslího můstku" v podobě VB scriptu který otevře sešit excelu a spouští makro.
V sešitu si makro přesuň do normálního modulu, nějak ho pojmenuj (řeba "start") a na něj se pak bude odkazovat následující script.
Do textového souboru si vlož následující kód. Uprav v něm název sešitu, jméno makra a soubor pak ulož do stejné složky jako je spouštěný sešit.
Koncovku souboru si přepiš na vbs a plánovanou úlohu si nastav na tento script.
Nebo pokud sešit chceš otevírat ručně aby se spustilo makro, spustíš tento script.
Když budeš chtít sešit upravit jednoduše ho otevřeš přímo a makro se nespustí.
V sešitu si makro přesuň do normálního modulu, nějak ho pojmenuj (řeba "start") a na něj se pak bude odkazovat následující script.
Do textového souboru si vlož následující kód. Uprav v něm název sešitu, jméno makra a soubor pak ulož do stejné složky jako je spouštěný sešit.
Koncovku souboru si přepiš na vbs a plánovanou úlohu si nastav na tento script.
Nebo pokud sešit chceš otevírat ručně aby se spustilo makro, spustíš tento script.
Když budeš chtít sešit upravit jednoduše ho otevřeš přímo a makro se nespustí.
Kód: Vybrat vše
Option explicit
Dim XLApp, strPath
strPath = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) 'umístění skriptu
Set XLApp = CreateObject("Excel.Application")
XLApp.Visible = true
XLApp.Workbooks.Open strPath & "\sesit.xlsm" 'sešit ke spuštění
XLApp.Run "start" 'název makra ke spuštění
Set XlApp = Nothing
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
-
- Level 4.5
- Příspěvky: 1544
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open Vyřešeno
Mě se oba způsoby pouští ať otevírám sešit jak chci.
pokud by to tak bylo, že Auto_Open proběhne jen při ručním otevření tak by to šlo obejít takto
Do modulu ThisWorkBook vložit
a do normálního modulu vložit
S tím, že místo hlášek by bylo makro.
Ale našel jsem supr jednoduchou věc jak zabránit spuštění maker WorkBook_Open a Auto_Open
http://www.jkp-ads.com/articles/preventopenevent.asp
....při kliknutí na soubor držet shift
pokud by to tak bylo, že Auto_Open proběhne jen při ručním otevření tak by to šlo obejít takto
Do modulu ThisWorkBook vložit
Kód: Vybrat vše
Private Sub Workbook_Open()
Call WOOpen
End Sub
a do normálního modulu vložit
Kód: Vybrat vše
Public taskopen As Boolean
Sub WOOpen()
taskopen = True
End Sub
Private Sub Auto_Open()
If taskopen = True Then
MsgBox "yes task open"
Else
MsgBox "no task open"
End If
taskopen = False
End Sub
S tím, že místo hlášek by bylo makro.
Ale našel jsem supr jednoduchou věc jak zabránit spuštění maker WorkBook_Open a Auto_Open
http://www.jkp-ads.com/articles/preventopenevent.asp
....při kliknutí na soubor držet shift
-
- Pohlaví:
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open
Já vlastně ani nevím proč, ale já drženému Shiftu kdovíproč nevěřím. Pravděpodobně, že mi párkrát makro prošlo.
VBScript je další teoretické řešení, které se mi neosvědčilo v rámci naplánovaných úloh. Leckdy jsme ráno zjistili, že skript prostě otevíraný sešit nezavřel a tak visel Excel na pozadí mezi spuštěnými aplikacemi.
Zkoušel jsem teď Auto_Open v Excelu 2010, a pokud otevíráme sešit přes Workbooks.Open, tak tato neproběhne. Ale chce to vyzkoušet z tasks, jak se to chová.
VBScript je další teoretické řešení, které se mi neosvědčilo v rámci naplánovaných úloh. Leckdy jsme ráno zjistili, že skript prostě otevíraný sešit nezavřel a tak visel Excel na pozadí mezi spuštěnými aplikacemi.
Zkoušel jsem teď Auto_Open v Excelu 2010, a pokud otevíráme sešit přes Workbooks.Open, tak tato neproběhne. Ale chce to vyzkoušet z tasks, jak se to chová.
Re: EXCEL- Otevření souboru bez spuštění makra Workbook_open
Díky všem za rady.
Vyzkouším a uvidím u čeho zůstanu.
Přes noc mě napadlo ještě řešení tím (možná to taky někomu pomůže) , že budu kontrolovat umístění souboru. Protože soubory nasazené na task mám umístěny v solo složce a při editaci je vždy kopíruju mimo tuto složku-na plochu (co kdyby něco). Takže nastavit podmínku, pokud soubor není ve složce xy, tak ukončit makro.
Vyzkouším a uvidím u čeho zůstanu.
Přes noc mě napadlo ještě řešení tím (možná to taky někomu pomůže) , že budu kontrolovat umístění souboru. Protože soubory nasazené na task mám umístěny v solo složce a při editaci je vždy kopíruju mimo tuto složku-na plochu (co kdyby něco). Takže nastavit podmínku, pokud soubor není ve složce xy, tak ukončit makro.
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 1
- 1362
-
od Grimm
Zobrazit poslední příspěvek
12 bře 2024 21:43
-
-
Nastavení zabezpečení internetu zabránilo v otevření jednoho nebo více souborů Příloha(y)
od magnator » 06 čer 2023 10:23 » v Windows 11, 10, 8... - 3
- 2234
-
od mmmartin
Zobrazit poslední příspěvek
06 čer 2023 21:22
-
-
- 2
- 1862
-
od Myerina
Zobrazit poslední příspěvek
20 dub 2024 11:36
-
-
co je potřeba pro otevření krámu s výpočetní technikou
od souky5 » 02 lis 2023 19:24 » v Reklamace a zákony - 29
- 12995
-
od atari
Zobrazit poslední příspěvek
01 pro 2023 10:23
-
-
- 4
- 2183
-
od Radoozek
Zobrazit poslední příspěvek
08 pro 2023 16:45
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 25 hostů