Този пример за добавка в Excel обсъжда основните стъпки, свързани със създаването на полезна добавка, която можете да използвате за пакетиране на вашите VBA процедури. Този пример на Excel VBA се основава на помощната програма за преобразуване на текст за промяна на регистъра.
Настройка на работната книга на Excel
Работната книга на Excel се състои от един празен работен лист, VBA модул и потребителски формуляр.
Оригиналната версия на помощната програма включва опции за главни, малки и правилни букви. Версията на добавката включва две опции към UserForm, така че има същите опции като вградения инструмент в Microsoft Word:
- Регистр на изречението: Прави първата буква главна, а всички останали - малки.
- Превключване на главни букви : Всички главни букви се преобразуват в малки и обратно.
Това изображение показва UserForm1. Петте контроли OptionButton са вътре в контрола Frame. В допълнение, потребителският формуляр има бутон Отказ (наречен CancelButton) и бутон OK (наречен OKButton).
Потребителският формуляр за добавката Change Case.
Кодът, изпълняван при щракване върху бутона Отказ, е много прост. Тази процедура разтоварва UserForm без действие:
Частен под CancelButton_Click()
Изтеглете UserForm1
Край под
Следва кодът, който се изпълнява при щракване върху бутона OK. Този код върши цялата работа:
Частен под OKButton_Click()
Затъмняване на текстови клетки като диапазон
Затъмнена клетка като диапазон
Затъмнен текст като низ
Dim i As Long
' Създайте обект само с текстови константи
При грешка Продължете напред
Задайте TextCells = Selection.SpecialCells(xlConstants, xlTextValues)
' Изключете актуализирането на екрана
Application.ScreenUpdating = False
' Прегледайте клетките
За всяка клетка в TextCells
Текст = клетка.Стойност
Изберете Case True
Опция за малки букви
клетка.Стойност = LCase(клетка.Стойност)
Опция за регистриГорна буква „ГОЛНИ РЕГИСТРИ“.
cell.Value = UCase(cell.Value)
Case OptionProper „Правилен случай
cell.Value = WorksheetFunction.Proper(cell.Value)
Case OptionSentence 'Случай на изречение
Текст = UCase(Вляво(клетка.Стойност, 1))
Текст = Текст и LCase(Mid(cell.Value, 2, Len(cell.Value)))
клетка.Стойност = Текст
Case OptionToggle 'TOGGLE CASE
За i = 1 до Len(текст)
Ако Mid(Text, i, 1) Като "[AZ]" Тогава
Среда(Текст, i, 1) = LCase(Среда(Текст, i, 1))
иначе
Mid(Text, i, 1) = UCase(Mid(Text, i, 1))
Край, ако
Следваща и
клетка.Стойност = Текст
Край Изберете
Следващия
' Разтоварете диалоговия прозорец
Изтеглете UserForm1
Край под
Тестване на работната книга на Excel
Тествайте добавката на Excel, преди да конвертирате тази работна книга. За да симулирате какво се случва, когато работната книга е добавка, трябва да тествате работната книга, когато е активна друга работна книга на Excel. Тъй като добавката на Excel никога не е активният лист или работна книга, тестването й, когато е отворена друга работна книга, може да ви помогне да идентифицирате някои потенциални грешки.
Отворете нова работна книга и въведете информация в някои клетки.
За целите на тестване въведете различни типове информация, включително текст, стойности и формули. Или просто отворете съществуваща работна книга и я използвайте за вашите тестове. Не забравяйте, че всички промени в работната книга не могат да бъдат отменени, така че може да искате да използвате копие.
Изберете една или повече клетки (или цели редове и колони).
Изпълнете макроса ChangeCase, като изберете новата команда Change Case от контекстното меню на вашата клетка (или ред или колона).
Ако командата Change Case не се появи в контекстното ви меню, най-вероятната причина е, че не сте активирали макроси, когато сте отворили работната книга change case.xlsm. Затворете работната книга и след това я отворете отново — и се уверете, че сте активирали макроси.
Добавяне на описателна информация към вашата добавка в Excel
Въпреки че не е задължително, се счита за най-добра практика да въведете описание на вашата добавка в Excel . Следвайте тези стъпки, за да добавите описание:
Активирайте работната книга за промяна case.xlsm.
Изберете Файл → Информация и щракнете върху Покажи всички свойства долу вдясно.
Excel разширява списъка със свойства.
Въведете заглавие за добавката в полето Заглавие.
Този текст се показва в списъка с добавки в диалоговия прозорец Добавки. За този пример въведете Change Case.
В полето Коментари въведете описание.
Тази информация се показва в долната част на диалоговия прозорец Добавки, когато е избрана добавката. За този пример въведете
Променя регистъра на текста в избраните клетки.
Достъп до тази помощна програма с помощта на контекстното меню.
Това изображение показва секцията Свойства с попълнени полета Заглавие и Коментари.
Използвайте секцията Свойства, за да въведете описателна информация за вашата добавка.
Защита на VBA кода
Ако искате да добавите парола, за да попречите на другите да виждат VBA кода, изпълнете следните стъпки:
Активирайте VBE и изберете работната книга change case.xlsm в прозореца на проекта.
Изберете Инструменти → Свойства на VBAProject и щракнете върху раздела Защита в диалоговия прозорец, който се показва.
Поставете отметка в квадратчето Заключване на проект за преглед и въведете парола (два пъти).
Щракнете върху OK.
Запазете работната книга, като изберете Файл → Запиши във VBE или като се върнете в прозореца на Excel и изберете Файл → Запиши.
Създаване на добавката на Excel
В този момент сте тествали файла change case.xlsm и той работи правилно. Следващата стъпка е създаването на добавката. Следвай тези стъпки:
Ако е необходимо, активирайте отново Excel.
Активирайте работната книга change case.xlsm и изберете Файл → Запиши като → Преглед.
Excel показва диалоговия си прозорец Запиши като.
От падащото меню Save as Type изберете Add-In (*.xlam).
Посочете местоположението и щракнете върху Запиши.
Създава се нов файл с добавка (с разширение .xlam) и оригиналната XLSM версия остава отворена.
Отваряне на добавката на Excel
За да избегнете объркване, затворете работната книга XLSM, преди да отворите добавката, която сте създали от тази работна книга.
Отворете добавката, като следвате тези стъпки:
Изберете Разработчик → Добавки → Добавки (или натиснете Alt+TI).
Excel показва диалоговия прозорец за добавки.
Щракнете върху бутона Преглед.
Намерете и изберете добавката, която току-що създадохте.
Щракнете върху OK, за да затворите диалоговия прозорец Преглед.
След като намерите новата си добавка, диалоговият прозорец Добавки изброява добавката. Както е показано по-долу, диалоговият прозорец Добавки също показва описателната информация, която сте предоставили в панела Свойства на документа.
В диалоговия прозорец Добавки е избрана новата добавка.
Уверете се, че новата ви добавка е избрана в диалоговия прозорец Добавки.
Щракнете върху OK, за да затворите диалоговия прозорец.
Excel отваря добавката. Сега можете да го използвате с всичките си работни книги. Докато остава избрана в диалоговия прозорец Добавки, добавката се отваря всеки път, когато стартирате Excel.
Разпространение на добавката на Excel
Ако сте в щедро настроение, можете да разпространявате тази добавка на други потребители на Excel, просто като им дадете копие на файла XLAM. (Те не се нуждаят от версията XLSM.) Когато отворят добавката, новата команда Change Case се появява в контекстното меню, когато избират диапазон, един или повече редове или една или повече колони. Ако заключите VBA проекта с парола, другите не могат да видят вашия макрокод, освен ако не знаят паролата.
Промяна на добавката на Excel
Една добавка може да се редактира точно както всяка друга работна книга. Можете да редактирате XLAM файла директно (не е необходимо да работите с оригиналната XLSM версия), като следвате тези стъпки:
Отворете своя XLAM файл, ако още не е отворен.
Активирайте VBE. Щракнете двукратно върху името на проекта в прозореца на проекта.
Ако сте защитили кода, ще бъдете подканени за парола.
Въведете паролата си и щракнете върху OK.
Направете промените в кода.
Запазете файла, като изберете Файл → Запиши.
Ако създадете добавка, която съхранява информация в работен лист, трябва да зададете свойството IsAddIn на работната книга на False, за да видите работната книга. Правите това в прозореца Свойства, когато е избран обектът ThisWorkbook. След като сте направили промените в работната книга, уверете се, че сте задали свойството IsAddIn обратно на True, преди да запишете файла.
Създаване на добавка, а не на добавка.