Jeg har et Excel-ark i Excel XP og dette ark kører automatisk en masse makroer (ca. 200). Jeg vil nu lave en DB i Access 97 hvor Excel via VBA skal skrive ned i en tabel for hver gang en makro er blevet udført korrekt. Yderligere oplysninger er date, tt:mm:ss, makroens navn osv.
Ville det vaere nemmere bare at lade Excel makroen som koerer de 200 andre makroer notere naar en makro er udfoert. Hvis en excel makro spytter dette ud i et regneark kan det saa efterfoelgende importeres i Access.
>>overchord: det var den samme tanke jeg fik, men jeg har lidt besvær med at finde ud af hvordan jeg skulle konstruere tælleren, uden at skulle skrive kode 200 gange. Kan man læse makronavnene ind i et array og eksekvere dem med et loop? Eller har du en idé?
brynil -> Jeg tror ikke umiddelbart at man kan fyre dem af fra et array som saadan, men det ville alligevel ikke goere den store froskel idet du stadig skulle skrive navnet paa hver makro ind... Til gengaeld kunne du maaske kyle de 200 makroer sammen i et overordnet script som i retning af MotherOfAllMacros(x as integer) case x = 1 Macro1 case x = 2 Macro2 osv
Hvis du saa kalder denne fra en makro med en error-handler :
F.eks
Sub RunItAll()
On Error Resume Next
for x = 1 to 200 Sheet1.Range("a" & x) = "Macro number " & x & "ran on " & Now() MotherOfAllMacros(x) Sheet1.Range("b" & x) = "Completed successfully" next x
De raekker hvor kolonne b ikke er udfyldt vil saa indikere fejl.
Det er et meget loest forslag og kraever en del arbejde, men forhaabentligt kan det hjaelpe lidt.
ok - det er faktisk interessat at det funger med et array - hvis de 200 makroer saa er systematisk navngivet kan du maaske oven i koebet droppe en masse og bare sammensaette makronavnet som en string med numre (f.eks "Makro-" & x).
Hmmm - jeg tror i skal spise salt til. Jeg har siddet hele aftenen og forsøgt at genskabe min vidunderkode fra igår aftes uden at det er lykkedes. Så betragt det som noget inderligt vrøvl - indtil det modsatte er bevist.
Hmm... Tror ikke det vil virke så godt med min løsning.
Det er en makro som starter det hele, eks. auto_open() auto_open fungere så som Call og kalder derefter flere makro, der hver især kalder på et par makroer:
Kunne se sådan her ud:
Sub auto_open() Call makro1 Call makro2 Call makro3 Call makro4 End Sub
Sub makro1() "regne regne" Call makro5 Call makro6 End Sub
Sub makro2() "regne regne" Call makro7 Call makro8 End Sub
Sub makro3() "regne regne" Call makro9 Call makro10 End Sub
...
Jeg skal have at vide om hver makro fra makro1-makro200 er kørt igennem ordentligt.
Hilsen Jansen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.