Stránka 1 z 2

Spousteni makra ze souboru na disku

Napsal: 22 úno 2013 15:25
od jiri255
Dobrý den,
chtěl bych se zeptat, zdali je možné spouštět makra ze souboru uloženého na disku?
Konkrétně mám excel, ve kterém bych potřeboval vytvořit jedno makro, které by
po spuštění nalezlo v určitém umístění na disku soubor, ze kterého by spustilo/načetlo
"nějaká" makra a pokud to ten soubor nenajde, tak to skončí např. hláškou "soubor nějaké
makro nebyl nalezen"? Je něco takového možné?

Předem děkuji za pomoc

Re: Spousteni makra ze souboru na disku

Napsal: 22 úno 2013 16:57
od Mirdad69
Dobrý den,
já z jednoho sešitu volám makro v jiném takto:

Kód: Vybrat vše

myBookFullName = celá cesta na ten soubor s nějakým makrem
Set myWorkBook = Workbooks.Open(Filename:=myWorkBookFullName)
Application.Run myWorkBook & "!Workbook_Open" 'Workbook_Open je název makra

Re: Spousteni makra ze souboru na disku

Napsal: 22 úno 2013 17:40
od jiri255
to vypadá dobře, ale není v tom kodu nějaká chyba?
prvně to hlásilo chybu v cestě to jsem upravil, ale stejně mi to nefunguje nejspíš mám něco špatně?

Kód: Vybrat vše

 
Sub test()
myWorkBookFullName = "C:\Users\jirka\Desktop\test.xlsm"
Set myWorkBook = Workbooks.Open(Filename:=myWorkBookFullName)
Application.Run myWorkBook & "!pokus" 'Workbook_Open je název makra
End Sub

Re: Spousteni makra ze souboru na disku

Napsal: 22 úno 2013 19:19
od Mirdad69
Omlouvám se, mělo by tam být toto:

Kód: Vybrat vše

Sub test()
myWorkBookFullName = "C:\Users\jirka\Desktop\test.xlsm"
Set myWorkBook = Workbooks.Open(Filename:=myWorkBookFullName)
Application.Run myWorkBook.Name & "!pokus" 'Workbook_Open je název makra
End Sub

Re: Spousteni makra ze souboru na disku

Napsal: 22 úno 2013 22:12
od jiri255
tak jsem to odzkoušel, ale funguje to tak, že to otevře sešit "test.xlsm" a spustí to v něm ty makra a ten excel,
ze kterého to spuštím tedy "sesit1"(ve kterém mám to výše uvedené makro), tak v něm to nic neudělá na něm
ta makra neproběhnou :-( .

Re: Spousteni makra ze souboru na disku

Napsal: 24 úno 2013 19:18
od Mirdad69
To bych musel vidět ta vaše makra, abych si je mohl krokovat.
Takhle nevím.

Re: Spousteni makra ze souboru na disku

Napsal: 24 úno 2013 20:46
od pavel.lasak
Co takhle použít Workbook_Open ve volaném sešitě?
Private Sub Workbook_Open()
' makro ke spuštení
End Sub

více: http://office.lasakovi.com/excel/vba-pr ... i-skriptu/

Monžá si nejsem jist co přesně potřebuješ
Spouštím-sešit.xlsm - tady se spustí makro 1 (např tlačítkem), které
1) Otevře otevirany-sešit.xlsm
2) v otevirany-sešit.xlsm spusti makro 2 a to má uděla co?
a) vykonat něco v otevirany-sešit.xlsm nebo něco v Spouštím-sešit.xlsm ???

Re: Spousteni makra ze souboru na disku

Napsal: 25 úno 2013 07:37
od jiri255
pro uzivatele pavel.lasak
to makro má vykonat něco v Spouštím-sešit.xlsm abych to upřesnil:

Jinak:
mám nějaký sešit test.xls v něm bych potřeboval mít makro,
které někde z disku např z jiného sešitu "nejake-makro.xls"
spustí makro, které je pojmenované třeba "makro1", ale "Makro1"
se spustí jen v tomto sešitu test.xls a nejlépe, aby pak zůstal
otevřený jen ten sešit test.xls.
To makro co mám v tom sešitu "nejake-makro.xls" je funkční
mám ho odzkoušené nejsou v něm žádné chyby.
Jo a není ani podmínkou, aby se to makro spuštělo z jiného sešitu
pokud existuje i jiný způsob...

Re: Spousteni makra ze souboru na disku

Napsal: 25 úno 2013 10:20
od Mirdad69
Už se v tom nějak ztrácím. Teď se spouští 3 sešity?
1. Spouštím-sešit.xlsm
2. text.xls
3. nejake-makro.xls

Re: Spousteni makra ze souboru na disku

Napsal: 25 úno 2013 12:00
od Azuzula
A proč nepoužít makro v sešitu PERSONL.XLSB (osobní sešit maker)? Ten je přístupný při každém spuštění excelu, nevím proč to komplikovat ;)
Jeho vytvoření je popsáno v nápovědě MS: http://office.microsoft.com/cs-cz/excel ... c275246697

Re: Spousteni makra ze souboru na disku

Napsal: 25 úno 2013 19:05
od jiri255
nejdná se o tři sešity už jsem tu odpověď výše trochu poupravil, aby to nemátlo...


PERSONL.XLSB se mi nehodí to není pro můj případ to správné řešení, ale díky třeba to využiju v budoucnu pro něco jiného

Re: Spousteni makra ze souboru na disku

Napsal: 25 úno 2013 21:39
od Mirdad69
A proč se pro spuštění toho makra musí spouštět jiný sešit, proč ho nenakopíruješ to souboru text.xls,
když ti funguje.