Liste over Macro Genveje i alle åbne projektmapper

Hvis du udvikler en masse makroer, kan du ønsker at liste alle de makroer sammen med genvejstaster, der anvendes til at iværksætte dem. Selvfølgelig kommer op med koden til listen genvejstasterne er den tricky del af dette problem, som sådan en evne til ikke er indbygget i Excel direkte. (Du kan gøre det i Word, men ikke i Excel. Gå figur.)

Den nemmeste måde at gøre dette ville være at oprette en makro, som eksporterede hver af dine makroer til en .bas tekstfil, så læs denne tekstfil til at bestemme genvejstasterne. Hvorfor det er nemmest skyldes genvejstasterne er ikke direkte tilgængelige for VBA, men de er skrevet som en del af tekstfil, når du eksporterer makroer.

For eksempel, når du eksporterer en makro til en .bas fil, vil det omfatte retningslinjer, der svarer til følgende:

Attribut VB_Name = "Module1"
Attribut MyMacro.VB_Description = "My Beskrivelse"
Attribut MyMacro.VB_ProcData.VB_Invoke_Func = "q \ n14"

Din makro kunne læse .bas fil (det er ikke andet end en tekstfil), og parse hvad der er skrevet der at udtrække makro navn og genvejstaster. I ovenstående eksempel, "Module1" er modulet koden er i, "MyMacro" er den procedure navn, "My Beskrivelse" er beskrivelsen af ​​proceduren og "Q" er genvejstasten. (Den "\ n14" synes at være der for alle makroer, hvad det betyder, er uklart.)

Din kode, for at være effektiv, vil være nødvendigt at sløjfe gennem alle moduler i en projektmappe, gør eksport og parse skridt til at få den ønskede information.

Sound kompleks? Det kan være. Det er en god ting, at der allerede er en makro til rådighed, der gør alt dette. Ivan Moala har skrevet en gratis Excel-tilføjelsesprogram, der gør præcis det, der er beskrevet ovenfor. Den add-in er tilgængelig her:

http://www.xcelfiles.com/GetShortCutKeys.html

Koden er beskyttet med adgangskode, men Moala har angivet andre steder på internettet, at adgangskoden for at få adgang koden er "test". Ved at frigøre koden, kan du se præcis, hvordan han opnåede sine resultater, og derefter oprette din egen makro, eller du kan bare ændre sit for at sikre, at uanset hvad der udskrives matcher dine behov. For eksempel, hvis du ønsker, at makroen skal udskrives navn projektmappen, modul navn, makro navn, og genvejstast, så kunne du ændre koden til at gøre netop dette.

Der er et gottcha der kunne bide dig, når anvendelse af makroer af denne art, så godt. Du skal sikre dig, at du har din makro sikkerhed indstillet til det korrekte niveau for at tillade den type adgang kræves for makroen til at gøre sit arbejde. Det gør du ved at vælge inden for Excel, Funktioner | Indstillinger | Sikkerhed | Makrosikkerhed. Du kan derefter indstille sikkerhedsniveauet til den nødvendige indstilling: Trust Access VB projekter.

Den hidtil beskrevne kode giver dig mulighed for at få den ønskede information for en bestemt projektmappe. Det næste trin, er naturligvis at sikre, at koden anvendes til hver åben arbejdsbog. Det er relativt let. Hvis din kode for at behandle makroer i en enkelt projektmappe hedder noget i retning ListKeys, så kan du oprette en anden makro, der ser sådan ud:

Sub ListAllKeys ()
Dim WKB Som Workbook

For hver WKB I projektmapper ()
Ring ListKeys (WKB)
Næste
End Sub

De makro trin gennem alle åbne projektmapper, der passerer hver sit navn til ListKeys makro. Dette navn kan så bruges af din ListKeys procedure for at afgøre, hvor det griber sine oplysninger fra.

ExcelTips er din kilde til omkostningseffektiv Microsoft Excel træning. Dette tip (3162) gælder for Microsoft Excel 97, 2000, 2002, og 2003.


© 2019 Zajacperrone.com | Contact us: webmaster# zajacperrone.com