Spousteni makra ze souboru na disku

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod jiri255 » 26 úno 2013 08:37

důvod proč chci spouštět to makro z jiného sešitu a né s toho test.xls je proto, že to makro slouží k dešifrování části obsahu dat,
která se uloží do toho test.xls a pak je potřebuji poslat dále, ale posílat dále to potřebuju bez toho makra co to dešifruje a pořád
dokola to makro nakopírovávat a pak zase mazat není úplně ideální....
Pokud, ale budu mít test.xls a v něm makro, které si zavolá "makro1" ze sešitu "nejake-makro.xls" co mám uložený někde v pc,
tak je tím můj problém vyřešen.

Reklama
Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod Mirdad69 » 26 úno 2013 08:55

A to makro skončí s nějakou chybou? Možná by to chtělo volat to makro s parametrem, kde parametr by byl název toho sešitu, ze kterého se volá. A to volané makro podle toho upravit. Abych poznal, proč se neprovede, musel bych to makro krokovat.

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod jiri255 » 26 úno 2013 10:00

když použiju ten kód výše, tak to funguje, takto:
otevřu test.xls spustím to makro (ten kód výše) to otevře sešit "nejake-makro.xls" a spusti se "makro1" a
to vykoná úlohu, ale na tom sešitu "nejake-makro.xls" a já potřebuju, aby to vykonalo úlohu na tom
sešitu "test.xls" chyba musí být tedy v tom výše uvedeném kódu

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: Spousteni makra ze souboru na disku

Příspěvekod Azuzula » 26 úno 2013 10:13

Tak to by mělo stačit jen aktivovat sešit ve kterém se to makro má provést, makro vždy probíhá v aktivním sešitu.

Kód: Vybrat vše

Sub test()
myWorkBookFullName = "C:\Users\jirka\Desktop\test.xlsm"
Set myWorkBook = Workbooks.Open(Filename:=myWorkBookFullName)
workbooks("test.xlsm").Activate
Application.Run myWorkBook.Name & "!pokus"
End Sub
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.

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod jiri255 » 27 úno 2013 16:44

tak toto funguje dobře ještě jsem si to malinko upravil viz níže třeba se to bude taky někomu hodit

Kód: Vybrat vše

Sub test()
myWorkBookFullName = "C:\Users\jirka\Desktop\nejake-makro.xls"
Set myWorkBook = Workbooks.Open(Filename:=myWorkBookFullName)
Workbooks("test.xls").Activate
Application.Run myWorkBook.Name & "!makro1"
Workbooks("nejake-makro.xlsm").Close SaveChanges:=False
End Sub

ještě bych na Vás, ale měl jeden dotaz.... výše jsem psal, že to potřebuju z důvodu, aby součástí toho test.xls
nebylo makro pro dešifrování části obsahu.
Někdo by možná napsal, že by se to dalo ošetřit i heslem na makra, ale vzhledem k tomu, že se dá toto heslo
velmi jednoduše prolomit, tak jsem tuto možnost hned zavrhl a vůbec ji neřešil.
Podařilo se mi, ale mezitím najít ještě jednu aplikaci, která umí převést xls na exe a dá se tam i nastavit,
aby makra nebyla přístupná a kupodivu to nejde "jednoduš prolomit", ale když v tom "test.exe" spustím makra,
tak všechny proběhnou až na makro, které importuje data z txt u toho mám problém:-(
Níže přikládám test.xlsm v tom makro proběhne a vykoná vše co má, pro import jsem použil import.txt viz
příloha, ale když to stejné makro spustím v tom test.exe, tak to neproběhne správně jako v test.xlsm,
ale je tam nějaký problém, import neproběhne správně a import.txt se nezavře a zůstává otevřený.
Nevíte někdo jestli tam není něco s čím to test.exe neumí pracovat a jak by to popřípadě šlo upravit, aby se to
chovalo stejně jako makro v test.xlsm :-(?
Nemusel bych požít výše uvedený kód, ale mohl bych k tomuto účelu používat test.exe což by vyřešilo všechno
co potřebuju.

V tom test.exe nejsou makra zabezpečena viz příloha a je tam jen to konfliktní a lze ho upravovat stejně jako
v test.xlsm, akorát ho to při zavření neuloží...
Přílohy
import.zip
soubor s daty pro test makra
(393 bajtů) Staženo 5 x
test.zip
stejne makro, ale funguje spatne
(294.2 KiB) Staženo 5 x
test.xlsm
makro co funguje spravne
(16.39 KiB) Staženo 6 x

cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod cmuch » 27 úno 2013 17:26

ještě bych na Vás, ale měl jeden dotaz.... výše jsem psal, že to potřebuju z důvodu, aby součástí toho test.xls
nebylo makro pro dešifrování části obsahu.

A co to dešifrovat v tom sešitě kde by bylo makro a pak ty listy překopírovat do nového sešitu?

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod jiri255 » 27 úno 2013 18:03

kdyby se jednalo o jeden dva importy, tak bych to asi řešil takhle, ale to bohužel nejde...

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod jiri255 » 03 bře 2013 16:31

nikdo neví, jak by se toto dalo vyřešit? :-(

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod jiri255 » 05 bře 2013 15:45

tak jsem nad tím nějakou dobu laboroval a zjistil jsem, že problém je v tomto řádku:
Workbooks.OpenText Filename:="C:\users\jirka\desktop\import.txt", Origin:=1250, StartRow _
on totiž ten test.exe není "Workbooks" určitě z důvodu ".exe" proto to makro nefunguje správně =
tedy stejně jako to test.xlsm viz přílohy výše.

Napadlo mě tedy použít proměnnou... jenže nevím jak to do toho makra správně zapsat :-(:

Kód: Vybrat vše

Dim Zkouska As Strong
Zkouska = "C:\users\jirka\desktop\test.exe"

Zkouska.OpenText Filename:="C:\users\jirka\desktop\import.txt", Origin:=1250, StartRow _
'a pak už by to makro pokračovalo dál viz příloha test.xlsm


Prosím mohl by mi někdo zkušenější poradit, jak správně to makro v test.exe opravit,
aby fungovalo stejně, jako to test.xlsm tedy provedlo správně ten import?

jiri255
Level 1.5
Level 1.5
Příspěvky: 105
Registrován: leden 13
Pohlaví: Muž
Stav:
Offline

Re: Spousteni makra ze souboru na disku

Příspěvekod jiri255 » 11 bře 2013 11:38

tak jsem to nějakou dobu zkoušel různě upravit, hledal vše možné, ale je to nad moje síly :-(
nevěděl byste někdo, jak by se to makro dalo rozchodit v tom test.exe?


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Velikost souboru a složek na disku
    od L.L » 05 úno 2025 11:50 » v Vše ostatní (sw)
    5
    3294
    od L.L Zobrazit poslední příspěvek
    05 úno 2025 17:42
  • Jak odstranit okna při spouštění - Chrome Příloha(y)
    od NIESRA » 08 pro 2024 10:42 » v Internet a internetové prohlížeče
    2
    4766
    od NIESRA Zobrazit poslední příspěvek
    08 pro 2024 11:29
  • Blokování stahovaných souborů
    od Riviera kid » 07 čer 2025 16:47 » v Windows 11, 10, 8...
    10
    3605
    od Riviera kid Zobrazit poslední příspěvek
    16 čer 2025 06:56
  • IDM hláška o nemožném stažení souboru Příloha(y)
    od bluenite » 04 črc 2024 11:08 » v Vše ostatní (inet)
    2
    4361
    od bluenite Zobrazit poslední příspěvek
    06 črc 2024 19:40
  • Program na hledání poškozených souborů JPG Příloha(y)
    od Rosta_Kolmix » 09 lis 2024 11:01 » v Design a grafické editory
    2
    4525
    od Minapark Zobrazit poslední příspěvek
    15 lis 2024 11:04

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host