Dette Excel-tilføjelseseksempel diskuterer de grundlæggende trin involveret i at skabe et nyttigt tilføjelsesprogram, som du kan bruge til at pakke dine VBA-procedurer. Dette Excel VBA-eksempel er baseret på tekstkonverteringsværktøjet Change Case.
Opsætning af Excel-projektmappen
Excel-projektmappen består af et tomt regneark, et VBA-modul og en brugerformular.
Den originale version af værktøjet indeholder muligheder for store bogstaver, små bogstaver og rigtige bogstaver. Tilføjelsesversionen inkluderer to muligheder til UserForm, så den har de samme muligheder som det indbyggede værktøj i Microsoft Word:
- Sætningsbogstav: Gør det første bogstav til stort og alle andre bogstaver med små bogstaver.
- Skift mellem store og små bogstaver : Alle store bogstaver konverteres til små bogstaver og omvendt.
Dette billede viser UserForm1. De fem OptionButton-kontroller er inde i en Frame-kontrol. Derudover har brugerformularen en Annuller-knap (navngivet CancelButton) og en OK-knap (kaldet OKButton).
Brugerformularen til tilføjelsesprogrammet Change Case.
Koden, der udføres, når der trykkes på Annuller-knappen, er meget enkel. Denne procedure fjerner brugerformularen uden handling:
Private Sub CancelButton_Click()
Fjern UserForm1
Slut Sub
Den kode, der udføres, når der klikkes på OK-knappen, følger. Denne kode gør alt arbejdet:
Privat under OKButton_Click()
Dæmp tekstceller som rækkevidde
Dæmp celle som område
Dæmp tekst som streng
Dim i As Long
' Opret et objekt med kun tekstkonstanter
Ved fejl Genoptag Næste
Indstil TextCells = Selection.SpecialCells(xlConstants, xlTextValues)
' Slå skærmopdatering fra
Application.ScreenUpdating = Falsk
' Gå gennem cellerne
For hver celle i tekstceller
Tekst = celle.Værdi
Vælg Case True
Mulighed for små bogstaver Små bogstaver
celle.Value = LCase(celle.Value)
Case OptionUpper 'STORT
celle.Value = UCase(celle.Value)
Case OptionProper 'Proper Case
cell.Value = ArbejdsarkFunction.Proper(cell.Value)
Sag OptionSentence 'Sætningssag
Tekst = UCase(Left(cell.Value, 1))
Tekst = Tekst & LCase(Mid(celle.Value, 2, Len(cell.Value)))
cell.Value = Tekst
Case OptionToggle 'TogGLE CASE
For i = 1 til Len(tekst)
Hvis Mid(Tekst, i, 1) Som "[AZ]" Så
Mid(Tekst, i, 1) = LCase(Mid(Tekst, i, 1))
Andet
Mid(Tekst, i, 1) = UCase(Mid(Tekst, i, 1))
Afslut Hvis
Næste i
cell.Value = Tekst
Afslut Vælg
Næste
' Fjern dialogboksen
Fjern UserForm1
Slut Sub
Test af Excel-projektmappe
Test Excel-tilføjelsesprogrammet, før du konverterer denne projektmappe. For at simulere, hvad der sker, når projektmappen er et tilføjelsesprogram, bør du teste projektmappen, når en anden Excel-projektmappe er aktiv. Fordi et Excel-tilføjelsesprogram aldrig er det aktive ark eller projektmappe, kan testning af det, når en anden projektmappe er åben, hjælpe dig med at identificere nogle potentielle fejl.
Åbn en ny projektmappe, og indtast oplysninger i nogle celler.
Til testformål skal du indtaste forskellige typer oplysninger, herunder tekst, værdier og formler. Eller bare åbn en eksisterende projektmappe og brug den til dine tests. Husk, at eventuelle ændringer i projektmappen ikke kan fortrydes, så det kan være en god ide at bruge en kopi.
Vælg en eller flere celler (eller hele rækker og kolonner).
Udfør ChangeCase-makroen ved at vælge den nye Change Case-kommando fra din Celle (eller Row eller Column) genvejsmenu.
Hvis kommandoen Change Case ikke vises på din genvejsmenu, er den mest sandsynlige årsag, at du ikke aktiverede makroer, da du åbnede change case.xlsm-projektmappen. Luk projektmappen, og åbn den derefter igen - og sørg for, at du aktiverer makroer.
Tilføjelse af beskrivende oplysninger til dit Excel-tilføjelsesprogram
Selvom det ikke er påkrævet, anses det for at være en god praksis at indtaste en beskrivelse af dit Excel-tilføjelsesprogram . Følg disse trin for at tilføje en beskrivelse:
Aktiver ændringscase.xlsm-projektmappen.
Vælg Filer → Info, og klik på Vis alle egenskaber nederst til højre.
Excel udvider egenskabslisten.
Indtast en titel for tilføjelsen i feltet Titel.
Denne tekst vises på listen over tilføjelser i dialogboksen Tilføjelsesprogrammer. I dette eksempel skal du indtaste Skift store og små bogstaver.
Indtast en beskrivelse i feltet Kommentarer.
Disse oplysninger vises nederst i dialogboksen Tilføjelsesprogrammer, når tilføjelsesprogrammet er valgt. For dette eksempel skal du indtaste
Ændrer store og små bogstaver i tekst i valgte celler.
Få adgang til dette værktøj ved at bruge genvejsmenuen.
Dette billede viser sektionen Egenskaber med felterne Titel og Kommentarer udfyldt.
Brug sektionen Egenskaber til at indtaste beskrivende oplysninger om dit tilføjelsesprogram.
Beskyttelse af VBA-koden
Hvis du vil tilføje en adgangskode for at forhindre andre i at se VBA- koden, skal du følge disse trin:
Aktiver VBE, og vælg change case.xlsm-projektmappen i projektvinduet.
Vælg Værktøjer → VBAProject Properties, og klik på fanen Beskyttelse i dialogboksen, der vises.
Marker afkrydsningsfeltet Lås projekt til visning, og indtast en adgangskode (to gange).
Klik på OK.
Gem projektmappen ved at vælge Filer → Gem i VBE eller ved at gå tilbage til Excel-vinduet og vælge Filer → Gem.
Oprettelse af Excel-tilføjelsesprogrammet
På dette tidspunkt har du testet filen change case.xlsm, og den fungerer korrekt. Det næste trin er at oprette tilføjelsen. Følg disse trin:
Genaktiver Excel om nødvendigt.
Aktiver change case.xlsm-projektmappen, og vælg Filer → Gem som → Gennemse.
Excel viser dens Gem som-dialogboks.
Fra rullemenuen Gem som type skal du vælge Tilføjelse (*.xlam).
Angiv placeringen, og klik på Gem.
En ny tilføjelsesfil (med en .xlam-udvidelse) oprettes, og den originale XLSM-version forbliver åben.
Åbning af Excel-tilføjelsesprogrammet
For at undgå forvirring skal du lukke XLSM-projektmappen, før du åbner det tilføjelsesprogram, som du oprettede fra den pågældende projektmappe.
Åbn tilføjelsesprogrammet ved at følge disse trin:
Vælg Udvikler → Tilføjelsesprogrammer → Tilføjelsesprogrammer (eller tryk på Alt+TI).
Excel viser dialogboksen Tilføjelsesprogrammer.
Klik på knappen Gennemse.
Find og vælg det tilføjelsesprogram, du lige har oprettet.
Klik på OK for at lukke dialogboksen Gennemse.
Når du har fundet dit nye tilføjelsesprogram, viser dialogboksen Tilføjelsesprogrammer tilføjelsesprogrammet. Som vist nedenfor viser dialogboksen Tilføjelsesprogrammer også de beskrivende oplysninger, du har angivet i panelet Dokumentegenskaber.
Dialogboksen Tilføjelsesprogrammer har det nye tilføjelsesprogram valgt.
Sørg for, at dit nye tilføjelsesprogram er valgt i dialogboksen Tilføjelsesprogrammer.
Klik på OK for at lukke dialogboksen.
Excel åbner tilføjelsesprogrammet. Nu kan du bruge det med alle dine projektmapper. Så længe det forbliver valgt i dialogboksen Tilføjelsesprogrammer, åbnes tilføjelsesprogrammet, hver gang du starter Excel.
Distribution af Excel-tilføjelsesprogrammet
Hvis du er i et generøst humør, kan du distribuere denne tilføjelse til andre Excel-brugere blot ved at give dem en kopi af XLAM-filen. (De har ikke brug for XLSM-versionen.) Når de åbner tilføjelsesprogrammet, vises den nye kommando Change Case på genvejsmenuen, når de vælger et område, en eller flere rækker eller en eller flere kolonner. Hvis du låser VBA-projektet med en adgangskode, kan andre ikke se din makrokode, medmindre de kender adgangskoden.
Ændring af Excel-tilføjelsesprogrammet
Et tilføjelsesprogram kan redigeres ligesom enhver anden projektmappe. Du kan redigere XLAM-filen direkte (du behøver ikke at arbejde med den originale XLSM-version) ved at følge disse trin:
Åbn din XLAM fil, hvis den ikke allerede er åben.
Aktiver VBE. Dobbeltklik på projektets navn i projektvinduet.
Hvis du beskyttede koden, bliver du bedt om adgangskoden.
Indtast din adgangskode, og klik på OK.
Foretag dine ændringer i koden.
Gem filen ved at vælge Filer → Gem.
Hvis du opretter et tilføjelsesprogram, der gemmer oplysninger i et regneark, skal du indstille projektmappens IsAddIn-egenskab til False for at se projektmappen. Du gør dette i vinduet Egenskaber, når ThisWorkbook-objektet er valgt. Når du har foretaget dine ændringer i projektmappen, skal du sørge for at sætte egenskaben IsAddIn tilbage til True, før du gemmer filen.
At lave et tilføjelsesprogram, ikke et tilføjelsesprogram.