Ez az Excel-bővítménypélda bemutatja a VBA-eljárások csomagolásához használható hasznos bővítmények létrehozásának alapvető lépéseit. Ez az Excel VBA-példa a Change Case szövegkonverziós segédprogramon alapul.
Az Excel munkafüzet beállítása
Az Excel-munkafüzet egy üres munkalapból, egy VBA-modulból és egy UserForm-ból áll.
A segédprogram eredeti verziója nagy-, kis- és nagybetűket tartalmaz. A bővítmény verziója két lehetőséget tartalmaz a UserFormhoz, így ugyanazok a beállítások, mint a Microsoft Word beépített eszköze:
- Mondat kis- és nagybetű : Az első betűt nagybetűvé, az összes többi betűt kisbetűvé teszi.
- Kis- és nagybetűk váltása: Minden nagybetűs karakter kisbetűvé alakul, és fordítva.
Ezen a képen a UserForm1 látható. Az öt OptionButton vezérlő egy keretvezérlőn belül található. Ezen kívül a UserForm-nak van egy Mégse gombja (CancelButton néven) és egy OK gombja (OKButton néven).

A UserForm for the Change Case bővítmény.
A Mégse gombra kattintva végrehajtott kód nagyon egyszerű. Ez az eljárás művelet nélkül eltávolítja a UserForm-ot:
Privát Sub CancelButton_Click()
UserForm1 eltávolítása
Vége Sub
Az OK gombra kattintva végrehajtott kód következik. Ez a kód elvégzi az összes munkát:
Privát Sub OKButton_Click()
Dim TextCells As Range
Dim cell As Range
Dim Text As String
Dim i As Long
' Hozzon létre egy objektumot csak szöveges konstansokkal
Hiba esetén Folytatás a következővel
Set TextCells = Selection.SpecialCells(xlConstants, xlTextValues)
' Kapcsolja ki a képernyőfrissítést
Application.ScreenUpdating = Hamis
' Pörgessen át a cellákon
Minden egyes cellához a szövegcellákban
Szöveg = cella.Érték
Válassza a True (igaz eset) lehetőséget
Case OptionLower 'kisbetű
cella.Érték = LCase(cella.Érték)
Case OptionUpper 'NAGYBETŰ
cell.Érték = UCase(cella.Érték)
Case OptionProper 'Proper Case
cell.Value = WorksheetFunction.Proper(cell.Value)
Case OptionSentence 'mondat-eset
Szöveg = UCase(bal(cella.Érték, 1))
Szöveg = Szöveg & LCase(Közép(cella.Érték, 2, Len(cella.Érték)))
cell.Value = Szöveg
Case Option Kapcsolja be a CASE kapcsolót
Ha i = 1 Len (szöveg)
Ha Közép(Szöveg, i, 1) Tetszik "[AZ]" Akkor
Közép(szöveg, i, 1) = LCase(közép(szöveg, i, 1))
Más
Közép(szöveg, i, 1) = UCase(Közép(szöveg, i, 1))
Vége Ha
Következő i
cell.Value = Szöveg
Vége kiválasztása
Következő
' Töltse ki a párbeszédpanelt
UserForm1 eltávolítása
Vége Sub
Az Excel munkafüzet tesztelése
A munkafüzet konvertálása előtt tesztelje az Excel bővítményt. Annak szimulálásához, hogy mi történik, ha a munkafüzet egy bővítmény, akkor tesztelje a munkafüzetet, amikor egy másik Excel-munkafüzet aktív. Mivel egy Excel-bővítmény soha nem az aktív lap vagy munkafüzet, egy másik munkafüzet megnyitásakor történő tesztelése segíthet azonosítani néhány lehetséges hibát.
Nyisson meg egy új munkafüzetet, és írjon be információkat néhány cellába.
Tesztelési célból adjon meg különféle típusú információkat, beleértve a szöveget, értékeket és képleteket. Vagy egyszerűen nyisson meg egy meglévő munkafüzetet, és használja azt a tesztekhez. Ne feledje, hogy a munkafüzet módosításait nem lehet visszavonni, ezért érdemes lehet másolatot használni.
Jelöljön ki egy vagy több cellát (vagy teljes sort és oszlopot).
Hajtsa végre a ChangeCase makrót a Cella (vagy Sor vagy Oszlop) helyi menü új Change Case parancsának kiválasztásával.
Ha a Change Case parancs nem jelenik meg a helyi menüben, annak legvalószínűbb oka az, hogy nem engedélyezte a makrókat a change case.xlsm munkafüzet megnyitásakor. Zárja be a munkafüzetet, majd nyissa meg újra – és győződjön meg arról, hogy engedélyezte a makrókat.
Leíró információk hozzáadása az Excel-bővítményhez
Bár nem kötelező, bevált gyakorlatnak tekintjük az Excel-bővítmény leírásának megadását . Kövesse az alábbi lépéseket leírás hozzáadásához:
Aktiválja a change case.xlsm munkafüzetet.
Válassza a Fájl → Információ menüpontot, és kattintson a jobb alsó sarokban található Összes tulajdonság megjelenítése lehetőségre.
Az Excel kibontja a Tulajdonságok listát.
Adja meg a bővítmény címét a Cím mezőben.
Ez a szöveg megjelenik a bővítmények listájában a Bővítmények párbeszédpanelen. Ebben a példában írja be a Change Case szót.
A Megjegyzések mezőben írjon be egy leírást.
Ez az információ a Bővítmények párbeszédpanel alján jelenik meg a bővítmény kiválasztásakor. Ebben a példában írja be
Módosítja a szöveg kis- és nagybetűjét a kijelölt cellákban.
Ezt a segédprogramot a helyi menü segítségével érheti el.
Ezen a képen a Tulajdonságok szakasz látható, kitöltve a Cím és a Megjegyzések mezőket.

A Tulajdonságok részben adja meg a bővítmény leírását.
A VBA kód védelme
Ha jelszót szeretne hozzáadni, hogy mások ne lássák a VBA- kódot, kövesse az alábbi lépéseket:
Aktiválja a VBE-t, és a Projekt ablakban válassza ki a change case.xlsm munkafüzetet.
Válassza az Eszközök → VBAProject Properties menüpontot, és kattintson a Védelem fülre a megjelenő párbeszédpanelen.
Jelölje be a Projekt zárolása megtekintéshez jelölőnégyzetet, és írja be a jelszót (kétszer).
Kattintson az OK gombra.
Mentse a munkafüzetet a Fájl → Mentés parancsával a VBE-ben, vagy lépjen vissza az Excel ablakba, és válassza a Fájl → Mentés parancsot.
Az Excel bővítmény létrehozása
Ezen a ponton tesztelte a change case.xlsm fájlt, és az megfelelően működik. A következő lépés a bővítmény létrehozása. Kovesd ezeket a lepeseket:
Ha szükséges, aktiválja újra az Excelt.
Aktiválja a change case.xlsm munkafüzetet, és válassza a Fájl → Mentés másként → Tallózás menüpontot.
Az Excel megjeleníti a Mentés másként párbeszédpanelt.
A Mentés típusként legördülő menüből válassza a Bővítmény (*.xlam) lehetőséget.
Adja meg a helyet, majd kattintson a Mentés gombra.
Létrejön egy új bővítményfájl (.xlam kiterjesztéssel), és az eredeti XLSM-verzió nyitva marad.
Az Excel bővítmény megnyitása
A félreértések elkerülése érdekében zárja be az XLSM-munkafüzetet, mielőtt megnyitná a munkafüzetből létrehozott bővítményt.
Nyissa meg a bővítményt az alábbi lépésekkel:
Válassza a Fejlesztő → Bővítmények → Bővítmények menüpontot (vagy nyomja meg az Alt+TI billentyűkombinációt).
Az Excel megjeleníti a Bővítmények párbeszédpanelt.
Kattintson a Tallózás gombra.
Keresse meg és válassza ki az imént létrehozott bővítményt.
Kattintson az OK gombra a Tallózás párbeszédpanel bezárásához.
Miután megtalálta az új bővítményt, a Bővítmények párbeszédpanel felsorolja a bővítményt. Az alábbiakban látható módon a Bővítmények párbeszédpanel a Dokumentum tulajdonságai panelen megadott leíró információkat is megjeleníti.

A Bővítmények párbeszédpanelen az új bővítmény van kiválasztva.
Győződjön meg arról, hogy az új bővítmény ki van jelölve a Bővítmények párbeszédpanelen.
Kattintson az OK gombra a párbeszédpanel bezárásához.
Az Excel megnyitja a bővítményt. Most már az összes munkafüzetével használhatja. Amíg kijelölve marad a Bővítmények párbeszédpanelen, a bővítmény minden alkalommal megnyílik, amikor elindítja az Excelt.
Az Excel bővítmény terjesztése
Ha nagylelkű a hangulata, akkor terjesztheti ezt a bővítményt más Excel-felhasználók számára, ha egyszerűen megadja nekik az XLAM-fájl másolatát. (Nincs szükségük az XLSM-verzióra.) Amikor megnyitják a bővítményt, az új Change Case parancs megjelenik a helyi menüben, amikor kiválasztanak egy tartományt, egy vagy több sort vagy egy vagy több oszlopot. Ha jelszóval zárolja a VBA-projektet, mások nem láthatják a makrókódot, hacsak nem ismerik a jelszót.
Az Excel bővítmény módosítása
A bővítmények ugyanúgy szerkeszthetők, mint bármely más munkafüzet. Az XLAM fájlt közvetlenül szerkesztheti (nem kell az eredeti XLSM verzióval dolgozni) az alábbi lépések végrehajtásával:
Nyissa meg az XLAM fájlt, ha még nincs megnyitva.
Aktiválja a VBE-t. Kattintson duplán a projekt nevére a Projekt ablakban.
Ha védte a kódot, a rendszer kéri a jelszót.
Írja be jelszavát, majd kattintson az OK gombra.
Végezze el a módosításokat a kódon.
Mentse a fájlt a Fájl → Mentés parancsával.
Ha olyan bővítményt hoz létre, amely információkat tárol egy munkalapon, a munkafüzet megtekintéséhez a munkafüzet IsAddIn tulajdonságát False értékre kell állítania. Ezt a Tulajdonságok ablakban teheti meg, amikor a ThisWorkbook objektum ki van jelölve. Miután elvégezte a munkafüzet módosításait, a fájl mentése előtt győződjön meg arról, hogy az IsAddIn tulajdonságot visszaállította True értékre.

Bővítmény létrehozása nem bővítmény.