Macros onzetten naar VBA

Status
Niet open voor verdere reacties.

MJKoolschijn

Gebruiker
Lid geworden
3 jan 2014
Berichten
51
Hallo Allemaal,

Een oud collega heeft macro's gemaakt waardoor we rapporten deels automatisch kunnen laten genereren. SUPER schilt veel werk, alleen werkt hij hier niet meer en macro's zijn PC gebonden. Nu lijkt het mij handiger om de macro's om te zetten naar VBA zodat het excel geboden wordt, zodat iedere aanpassing in 1x verwerkt wordt en iedereen die gebruikt.

Nu heb ik al wat ervaring met VBA maar niet met macro's. Snap redelijk wat er staat, maar kan het niet 1 op 1 overnemen.

Kan iemand mij helpen, of staat er op een syte veel informatie over geschreven?

Alvast bedankt

mvg Maarten
 

Bijlagen

Even voor je begrip, een macro is een functie of subroutine die is geschreven in VBA. Een macro in Excel is dus per definitie VBA. De vraag is nu, wat wil je precies?

Overigens is het tekst bestand dat je plaatste VBA voor Word.
 
Overigens is het tekst bestand dat je plaatste VBA voor Word.
Dan heb je niet goed gekeken; het is een Word document :). En de inhoud bevat dan macro's voor Word, en Excel. Overigens twijfel ik er niet aan dat het nu werkt, maar om nou te zeggen dat het optimaal geprogrammeerd is, nee.
Zoals ed al zei, is een macro in Excel of Word automatisch al VBA dus er valt niets om te zetten. Hooguit kun je de vraag stellen hoe je een macro bij elke gebruiker krijgt. En hoe je de macro's zodanig distribueert dat het ook nog eens te onderhouden is. Dat is voor elke applicatie weer net iets anders. Je zou voor Word bijvoorbeeld kunnen denken aan een Werkgroepsjabloon; in die sjabloon staan de macro's en elke gebruiker die dezelfde map gebruikt voor de werkgroepsjablonen ziet dus dezelfde macro's. Probleem van gedeelde sjablonen is, dat als ook maar één gebruiker Word open heeft staan, dat de sjabloon gelocked is en dat je er dus geen wijzigingen in kunt aanbrengen. Wil je een nieuwe versie uitrollen, dan moeten alle gebruikers dus uitgelogd zijn. Of op zijn minst allemaal Word hebben afgesloten. Bij een grote organisatie loop je het risico dat er altijd wel één gebruiker is die zijn pc aan laat staan (hoeft-ie de volgende dag niet op te starten) en dan valt er dus niks meer te upgraden. Dat moet je dus allemaal goed regelen.

Bij Excel werkt dat weer wat anders, al kun je ook daar sjablonen maken waar de macro's inzitten. Je kunt met policies de verschillende sjablonen wel uitrollen naar de gebruikers, zodat ze altijd de meest recente versie van de macro(documenten) hebben.
Maar ik zou sowieso nog eens heel goed naar de procedures kijken voordat je gaat uitrollen!
 
Wat Excel betreft op dat gebied vind ik zelf een invoegtoepassing altijd het handigst. Dan hoeft het maar op 1 plek te staan en na een wijzing hoef je dus maar op 1 plek een bestand te plaatsen waarna ieder gebruiker ervan de nieuwe versie heeft. Van een Excel VBA project is eenvoudig zo'n invoegtoepassing te maken. Zaak is wel dat de code dan PC en gebruiker onafhankelijk is geschreven.


Dan heb je niet goed gekeken
Ik zie, naast het Excel document, alleen een bestand met de extensie .txt
Je zegt dat dat een Word document is?
Ik geloof je direct, maar wil graag weten waar je dat uit op maakt.
 
Laatst bewerkt:
Bedankt voor de snelle reacties.

De macro's heb ik voor het gemak over naar een txt file gekopieerd.

De macro's staan in WORD, het report wordt ook in WORD gemaakt.

Mijn gedachten was (aangezien ik zelf meestal VBA vs excel gebruik) in excel het basis document "WORD" laten selecteren (zijn 2 standard templates) en van daaruit de 3 macro's te implementeren (zijn 3 onderdelen).
Helaas begrijp ik dat dit niet zo eenvoudig is als gedacht.

Is er in WORD ook te programmeren zoals bij EXCEL?
Zijn er verder nog opties om dit voor elkaar te krijgen?

Alvast bedankt
 
Is er in WORD ook te programmeren zoals bij EXCEL?
Beetje rare vraag; natuurlijk kun je in elke Office applicatie op dezelfde manier programmeren. Wel heeft elke applicatie zijn specifieke commando's; zo kun je in Excel geen alinea's behandelen en in Word geen cellen. Dus de taal is toegesneden op de aard van het beestje. Maar alle algemene objecten, zoals bestanden openen en opslaan etc. gaan op dezelfde manier.
Daarbij kun je met je automatisering een werkwijze bedenken die je wilt hanteren. Zo kun je prima vanuit Excel denken en werken, en vanuit Excel Word documenten openen en bewerken. Andersom kan ook: vanuit Word documenten kun je bijna alles in Excel doen wat je nodig hebt. Het is maar net welk uitgangspunt je neemt. Wil je dat je vanuit Excel je data opzoekt en een document genereert, of wil je vanuit Word een document openen en dat de Excel gegevens erbij worden opgezocht? Alles kan...
 
Hoeveel uren hebben deze exercities al gekost ?
Waarom schakelen jullie niet een professional in die het in 2 dagen voor elkaar heeft ?
 
Zover als ik het kan bepalen, is de enige PC afhankelijkheid waarschijnlijk de directory: C:\M4\Methods\

Dus als deze oplossing op een PC werkt moet van die PC de inhoud van de directory C:\M4\Methods\ gekopieerd worden naar de PC in dezelfde directory C:\M4\Methods\ waar het ook op moet werken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan