< návrat zpět

MS Excel


Téma: makro rss

Zaslal/a 27.6.2014 22:54

Jak řešíte následující problm:
Tvořím makro, vypustím ho do firmy, ale časem zjistím já (nebo kolegové ) problémy a upravuji původní makro, jenže oni v původním vytvářejí soubory,. Jak upravit všechny ty staré soubory s tím původním makrem a nahradit ho tím novým makrem?
Díky všemm za radu.

Zaslat odpověď >

Strana:  1 2   další »
#020235
avatar
Vestica Teodora urcite vie s ktorymi suborami klient robil :)) a kam si ich dal.

Toto urcite nepojde .... jedine co sa moze spravit tak nove makro co by upravilo vystup z nejakeho makracitovat
icon #020257
avatar
@Paloo
Mám za to, že OP chce dostať aktualizované Moduly do tých pôvodných súborov. To samozrejme ide, dokonca viacerými spôsobmi. Asi najprimitívnejším je export a import modulu. Iný spôsob je celé to zariadiť programovo. Ale to nenapíšem za 5 minút, takže iba skonštatujem: Ide to.

@mikkinachtik
Ty píšeš kódy a distribuješ ich po firme? Bez urážky, to by som nečakal...citovat
#020258
avatar
Al: ked to je tak ako hovoris ... tak to potom robi zle ... mal by vsetkych uzivatrelou orientovat do jedneho adresara s makrami a odtial by ich nacitavali ... a tam by si ich uz potom jednoducho updatoval .... ci to tam bude mat formou makra alebo addinsu to uz neham nanho

.... ale takto updatovat makra je dost neprofesionalnecitovat
icon #020259
avatar
@Paloo:
mal by vsetkych uzivatrelou orientovat do jedneho adresara s makrami a odtial by ich nacitavali Všetko má svoje výhody i nevýhody. Pokiaľ sú makrá niekde na serveri, tak potrebuješ mať na server prístup. Nespustíš makro, pokiaľ si napr. doma (ako napr. dnes ja) a na server sa nepripojíš napr. cez VPN. Osobne makrá na server neukladám, distrujem doplnok a každý si ho u seba musí nainštalovať. Pri jeho aktualizácii znovu. Je to trochu prúda, ale zas to behá i bez prístupu na server.citovat
#020260
avatar
Al: Ja to riesim inac ... ja davam uzivatelom Addins ... a ten zistuje aktualnu verziu podla toho ked je neaktualna tak nahra nove subory k nemu do PC

...... tj. moze pracovat aj Offlinecitovat
icon #020261
avatar
tj. moze pracovat aj Offline
No, úplne offline asi nie, ale i tak by ma to zaujímalo. Nemohol by si mi sem, alebo do nového vlákna, aby sme to tu nezaplnili off-topicmi, dať príklad toho kódu?citovat
#020262
avatar
chce dostať aktualizované Moduly do tých pôvodných súborov. To samozrejme ide, dokonca viacerými spôsobmi. Asi najprimitívnejším je export a import modulu. Iný spôsob je celé to zariadiť programovo. Ale to nenapíšem za 5 minút, takže iba skonštatujem: Ide to.
Pro Al:
Ano jedná se mi o to abych aktualizoval Moduly do původních. Mohl by jste mi dát tedy nějaký návod jak to urobit.
Díky.citovat
icon #020263
avatar
ako som zmienil, napísať na to kód nie je v mojom prípade práca na 5 minút a čas budem mať najskôr až vo štvrtok (a to je otázka, či vôbec). Dá sa manuálne. Vyexportuj moduly a naimportuj ich do pôvodných súborov...

edit:
medzitým sa môžeš inšpirovať tuná:http://social.msdn.microsoft.com/Forums/en-US/a60ab0e0-f8ce-430f-8d4f-9ca655bcd0cb/vba-create-and-add-a-macro-for-excel-programmatically
Keď som to onehdá riešil, tak som si k tomu vytvoril vzor (podotýkam, že to nie je funkčné riešenie, ale možno z toho niečo vyčítaš, na viac čas teraz bohužiaľ nemám):Sub xx()

Dim myWrkb As Workbook
Dim strMacro As String
Dim prrf_Module As VBComponent

Set myWrkb = Workbooks.Add
' Set myWrkb = ActiveWorkbook


Set prrf_Module = myWrkb.VBProject.VBComponents(myWrkb.Worksheets(1).Name) ' ..VBComponents.Add(1) - prida kod do listu
' Set prrf_Module = myWrkb.VBProject.VBComponents(1) ' ..VBComponents.Add(1) - prida kod do thisworkbook

strMacro = "Private Sub prrf_Workbook_setPage()" & vbCr
strMacro = strMacro & "end sub"
prrf_Module.CodeModule.AddFromString strMacro
' Set prrf_Module = myWrkb.VBProject.VBComponents.Add(1) 'prida modul
'myWrkb.VBProject.VBComponents.Remove myWrkb.VBProject.VBComponents.item("Module1") 'odstrani modul
' prrf_Module.CodeModule.DeleteLines 1, prrf_Module.CodeModule.CountOfLines 'premaze cely modul

End Sub
Aby to fungovalo, musíš nastaviť refernciu na knižnicu Microsoft Visual Basic for Applications Extensibility 5.3
V zásade: Potrebuješ načítať modul z aktuálnej verzie, to ide napr. do texťáku. Z texťáku to potom načítaš do premennej strMacro a pomocou metódy AddFromString z premennej strMacro dostaneš do pôvodného modulu, z ktorého pomocou metódy DeleteLines predtým odstrániš pôvodný kód. Je mi jasné, že popis je chaotický, ale viac v túto chvíľu fakt nepomôžem, nemám na to čas 7citovat
#020266
avatar
Díky, vyzkouším i to ruční export a improt. Podívám se i na to další. Po neděli dám vědět, neboť jsem na dovči. Takže díky.citovat
#020283
avatar
Zkoušel jsem export a import ve vba, ale nic mi to nezkopírovalo (žádné makro).citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje