Zobrazit plnou verzi příspěvku: Chyba pri spúšťaní makra...

Andrej
05.12.2005, 10:52
Ahojte..
Zase mám niečo..  Napísal som si makro a použil som v ňom prvky ako je "microsoft common dialog control 6.0 Sp3" a "Gif89.dll" Doma som to vyladil. V práci som spustil makro a hneď som akončil pri chybách. Obrázok *.gif sa nezobrazí a common dialog nepracuje. Musím si ručne preniesť ten gif89.dll a aj ten comdlg32.ocx (je novší ako ten čo mám v práci, aj keď je verzie 6.0 a sp3)  a nakopírovať ich do windows\system...
Je to trápne...., keď si napíšem makro, ktoré nepracuje korekte..., kto mám tušiť čo treba všetko s ním "brať ". Neviete mi niekto poradiť, či tam niekde v možnostiach nieje možnosť aby sa pri ukladaní makra, viazali naň aj prípadné prvky ActiveX, prípadne nejaké knižnice *.dll Viem, ten *.gif mi tam nechýby, ale prečo si nerozumejú prvky common dialog control...., neviem.. 
Zatiaľ ďakujem...

SELM
05.12.2005, 11:03
Knihovny Dll, OCX a podobné se nekopírují automaticky, musí se vždy doinstalovat.

Andrej
05.12.2005, 11:11
...škoda, že to nerobí automaticky. Načo sú všetky tie service packy.. ??
Hmmmm.....

Seiner
05.12.2005, 11:38
S common dialogem jsem měl věčné problémy při psaní aplikací v Accessu. Nakonec jsem se naučil volat ho přes API a je pokoj. Ukázky volání (pro Access) jsou např. na www.chrudim.cz/seiner

SELM
05.12.2005, 15:04
Ano, ale to jsou už věci pro programátory, kteří vědí co se děje. (A nejen ti placení). Pokud chcete používat nějaké funkce které standartně v Acadu nejsou musíte je napsat a nebo vložit kod, který už nekdi pro VBA napsal. doporucuji se ptát na diskusích pro VB. napr: WWW.VBASIC.CZ

SELM
05.12.2005, 15:06
A chtěl bych upozirnit, že tento dotaz spadá spýše do diskuse o programování.

Seiner
05.12.2005, 15:13
S předchozím souhlas, ale to je spíš pro moderátora.
Co se týká knihoven, to je jeden důvod, proč tvořím nadstavby ve VB6 a ne ve VBA. Package & Deployment Wizard mi to všecko zkompletuje automaticky.

Andrej
05.12.2005, 15:25
re: Seiner
To makro sa dá napísať aj inak ako vo VBA ??
To som netušil, skúsim... A bude sa to spúšťať ako makro..., teraz neviem, nemám tu VB...
Sorry , áno do diskusie o programovaní....

Seiner
05.12.2005, 15:49
Syntaxe je hodně podobná (viz příklady). Spouští se pak přirozeně jako externí program - na tlačítko se dá (Startapp "Mojeaplikace.exe")
Nevím, jak je to s výkonem - u těch ptákovinek, co jsem dělal, to nebyl problém.(číslování výkresů, ukládání do vlastního PDM, rámeček s orientačními poli apod.)

Mrázek
05.12.2005, 17:47
Programátorské prostředí Visual Basic (nyní uvolnil Microsoft tzv. Express Edition k volnému použití - viz http://msdn.microsoft.cz/vstudio/2005/vs2005.asp) má větší možnosti, než Visual Basic for Applicatiom (VBA), které bývá implementováno pro tvorbu maker. Rozdíl je m.j. právě v možnosti generování exe souborů či dll knihoven. Vlastní syntaxe jazyka je shodná, takže co jste schopni vytvořit ve VBA, to určitě uděláte i VB.

SELM
06.12.2005, 11:19
K Tomu VB 2005 bych rád dodal že je to platforma NET a ta není zcela stéjná jak VBA (VB 5.x). Tudáž přwechod na VB 2005 může být problematický. Ale pokud to zvládnete tak máte základy NEt platformi v kůži.

Andrej
06.12.2005, 13:58
Dobrý deň...
Ďakujem za rady... Mám len otázku. Ak som dobre pochopil, mám sa v tomto prípade vyhnúť tvorbe klasického makra (*.dvb) a urobiť to cez *.exe...
Pozeral som sa na to aj v tom VB2005.., hmmm... je to dosť iné...., ale asi to pôjde aj tak.
Takže záver znie: vytvoriť *.exe vo VB6, či VB2005 a to si spúštať ako externú aplikáciu.
To čo spomínal Seiner "Package & Deployment Wizard mi to všecko zkompletuje automaticky..." som neskúsil.., neviem o čo ide..... Asi myslel niečo čo je súčasťou VB pro 6.
Dík -A-
 

Seiner
06.12.2005, 14:05
Package & Deployment Wizard byla součást už i Learning version VB6.IMHO se instaluje automaticky s VB6.
Jestli je lepší dělat makro ve VBA, nebo externí programy ve VB, nevím - já jsem si to tak prostě zvyknul dělat.

Mrázek
06.12.2005, 14:20
Postupy se dají kombinovat. VBA má tu výhodu, že se dá makro "nahrát" jako posloupnost příkazů (případně pak jen poupravit) a že se dá přímo z prostředí aplikace spouštět. U komplikovanějších věcí má práce ve VB více možností. Pochopitelně nemusíte tvořit exe soubor, ale i program ve VB lze uložit ve stejném formátu jako tvoříte ve VBA. Musíte sám zjistit, co vám více vyhovuje.

Andrej
06.12.2005, 14:23
Ešťe sa opýtam, skôr ako si to večer skúsim. Výsledkom toho Package & Deployment Wizard je aký typ súboru ?? exe či dvb ?, alebo čo.... ? Neviem, keď píšeťe, že to zbalí do kopy, nemám s tým prax...
Zatiaľ som pracoval s VB a VBA, výsledkom bolo iba exe a dvb.. nič moc.
...štve zase jedna vec ,  v tom VB2005 si človek síce niečo spraví, ale zase ak nemá naištalovaný .netframevork sp2, nikam sa nepohne a som zase na začiatku  
Viac sa mi páči to napísať vo VBA a prilepiť k tomu čo treba...
Čo je to IMHO ? - asi som chýbal na cvikách.....   (srandujem...)

SELM
06.12.2005, 14:33
IHMO je buť akronym "podle mého (skromného) mínění" a nebo ...
Doporučil bych Vám také více VBA a pak si uložit projekt.
 SELM2005-12-6 15:20:12

Seiner
06.12.2005, 14:39
Package & Deployment Wizard vytvoří klasický instalační balíček (ne msi) - setup.exe, setup.lst a <aplikace>.cab. Umí to rozdělovat na diskety, ale to už je pasé.

Andrej
08.12.2005, 13:15
..ten Package & Deployment Wizard.., to môžem použiť rovno Install Creator... Výsledok je ten istý...
-A-

Seiner
08.12.2005, 13:55
Nevím - já Install Creator neznám, ale předpokládám, že mu musíte zadat, které knihovny připojí.

Andrej
08.12.2005, 14:08
áno.., musím mu ich zadať a aj cetu kam ich uloží. Je tam navyše aj možnosť zvoliť, ak existujú knižnice toho istého názvu, či ich má, alebo namá prepísať... Nedôjde k prepísaniu nových staršími.... Je to komplexnejšie, na základnej úrovni.

Seiner
08.12.2005, 14:13
Takže to je pro zkušenější - ten wizard si to najde sám a SAMOZŘEJMĚ vytvořená instalace nepřepíše novější knihovnu starší.
BTW v recenzích jsem četl jako lépe hodnocený Inno Setup

SELM
09.12.2005, 11:07
Ano inno setup se dá také použít, já ho také používám ale asi je lépe se knihovnám ve vba vyhnout.