Овај пример програмског додатка за Екцел говори о основним корацима који су укључени у креирање корисног програмског додатка који можете користити за паковање ваших ВБА процедура. Овај Екцел ВБА пример је заснован на услужном програму за конверзију текста Цханге Цасе.
Подешавање Екцел радне свеске
Екцел радна свеска се састоји од једног празног радног листа, ВБА модула и корисничког обрасца.
Оригинална верзија услужног програма укључује опције за велика, мала и исправна слова. Верзија додатка укључује две опције за кориснички образац тако да има исте опције као уграђени алат у Мицрософт Ворд-у:
- Велика и мала слова у реченици: Прво слово прави великим, а сва остала мала мала.
- Пребацивање великих слова : Сви велики знакови се претварају у мала слова и обрнуто.
Ова слика приказује УсерФорм1. Пет ОптионБуттон контрола се налазе унутар контроле оквира. Поред тога, кориснички образац има дугме Откажи (названо ЦанцелБуттон) и дугме ОК (названо ОКбуттон).
Кориснички образац за додатак Цханге Цасе.
Код који се извршава када се кликне на дугме Откажи је веома једноставан. Ова процедура уклања кориснички образац без икаквих радњи:
Приватно Суб ЦанцелБуттон_Цлицк()
Унлоад УсерФорм1
Енд Суб
Следи код који се извршава када се кликне на дугме ОК. Овај код ради сав посао:
Приватни под ОКБуттон_Цлицк()
Затамните ћелије текста као опсег
Дим целл Ас Ранге
Дим Тект Ас Стринг
Дим и Ас Лонг
' Креирајте објекат само са текстуалним константама
У случају грешке Настави даље
Постави ТектЦеллс = Селецтион.СпециалЦеллс(клЦонстантс, клТектВалуес)
' Искључите ажурирање екрана
Апплицатион.СцреенУпдатинг = Фалсе
' Прођите кроз ћелије
За сваку ћелију у ТектЦеллс
Текст = ћелија.Вредност
Изаберите Истина
Опција великих и малих слова
целл.Валуе = ЛЦасе(целл.Валуе)
Опција великих словаУппер 'УППЕРЦАСЕ
целл.Валуе = УЦасе(целл.Валуе)
Цасе ОптионПропер 'Прави случај
целл.Валуе = ВорксхеетФунцтион.Пропер(целл.Валуе)
Цасе ОптионСентенце 'Падеж реченице
Текст = УЦасе(Лево(ћелија.Вредност, 1))
Текст = Текст & ЛЦасе(Мид(целл.Валуе, 2, Лен(целл.Валуе)))
целл.Валуе = Текст
Цасе ОптионТоггле 'тОГГЛЕ ЦАСЕ
За и = 1 до Лен(текст)
Ако средина(текст, и, 1) као "[АЗ]" Онда
Средина(текст, и, 1) = ЛЦасе(средина(текст, и, 1))
Иначе
Средина(текст, и, 1) = УЦасе(средина(текст, и, 1))
Крај Ако
Затим сам
целл.Валуе = Текст
Крај Изаберите
Следећи
' Испразните оквир за дијалог
Унлоад УсерФорм1
Енд Суб
Тестирање Екцел радне свеске
Тестирајте Екцел додатак пре конвертовања ове радне свеске. Да бисте симулирали шта се дешава када је радна свеска додатак, требало би да тестирате радну свеску када је друга Екцел радна свеска активна. Пошто Екцел додатак никада није активан лист или радна свеска, тестирање када је друга радна свеска отворена може вам помоћи да идентификујете неке потенцијалне грешке.
Отворите нову радну свеску и унесите информације у неке ћелије.
За потребе тестирања, унесите различите врсте информација, укључујући текст, вредности и формуле. Или само отворите постојећу радну свеску и користите је за своје тестове. Запамтите да се све промене у радној свесци не могу опозвати, па ћете можда желети да користите копију.
Изаберите једну или више ћелија (или целих редова и колона).
Извршите макро ЦхангеЦасе тако што ћете изабрати нову команду Цханге Цасе из приручног менија ћелије (или реда или колоне).
Ако се команда Цханге цасе не појави у вашем приручном менију, највероватнији разлог је тај што нисте омогућили макрое када сте отворили радну свеску цханге цасе.клсм. Затворите радну свеску, а затим је поново отворите — и уверите се да сте омогућили макрое.
Додавање описних информација вашем Екцел додатку
Иако то није обавезно, сматра се да је најбоља пракса да унесете опис вашег Екцел програмског додатка . Пратите ове кораке да бисте додали опис:
Активирајте радну свеску Цханге цасе.клсм.
Изаберите Датотека → Информације и кликните Прикажи сва својства у доњем десном углу.
Екцел проширује листу Својства.
Унесите наслов за додатак у поље Наслов.
Овај текст се појављује на листи додатака у дијалогу Додаци. За овај пример унесите Цханге Цасе.
У поље Коментари унесите опис.
Ове информације се појављују на дну дијалога Додаци када је додатак изабран. За овај пример унесите
Мења велика и мала слова текста у изабраним ћелијама.
Приступите овом услужном програму користећи приручни мени.
Ова слика приказује одељак Својства са попуњеним пољима Наслов и Коментари.
Користите одељак Својства да бисте унели описне информације о свом додатку.
Заштита ВБА кода
Ако желите да додате лозинку како бисте спречили друге да виде ВБА код, следите ове кораке:
Активирајте ВБЕ и изаберите радну свеску цханге цасе.клсм у прозору пројекта.
Изаберите Тоолс → ВБАПројецт Пропертиес и кликните на картицу Протецтион у оквиру за дијалог који се појави.
Означите поље за потврду Закључај пројекат за преглед и унесите лозинку (двапут).
Кликните на ОК.
Сачувајте радну свеску тако што ћете изабрати Датотека → Сачувај у ВБЕ-у или тако што ћете се вратити у Екцел прозор и изабрати Датотека → Сачувати.
Креирање додатка за Екцел
У овом тренутку сте тестирали датотеку цханге цасе.клсм и она ради исправно. Следећи корак је креирање додатка. Пратите ове кораке:
Ако је потребно, поново активирајте Екцел.
Активирајте радну свеску цханге цасе.клсм и изаберите Датотека → Сачувај као → Прегледај.
Екцел приказује дијалог Сачувај као.
У падајућем менију Сачувај као тип изаберите Додатак (*.клам).
Наведите локацију и кликните на Сачувај.
Нова датотека додатака (са екстензијом .клам) је креирана, а оригинална КСЛСМ верзија остаје отворена.
Отварање програмског додатка за Екцел
Да бисте избегли забуну, затворите КСЛСМ радну свеску пре него што отворите додатак који сте креирали из те радне свеске.
Отворите програмски додатак пратећи ове кораке:
Изаберите Девелопер → Адд-Инс → Адд-Инс (или притисните Алт+ТИ).
Екцел приказује дијалог Додаци.
Кликните на дугме Прегледај.
Пронађите и изаберите додатак који сте управо креирали.
Кликните на ОК да бисте затворили оквир за дијалог Бровсе.
After you find your new add-in, the Add-Ins dialog box lists the add-in. As shown below, the Add-Ins dialog box also displays the descriptive information you provided in the Document Properties panel.
The Add-Ins dialog box has the new add-in selected.
Make sure that your new add-in is selected in the Add-Ins dialog box.
Click OK to close the dialog box.
Excel opens the add-in. Now you can use it with all your workbooks. As long as it remains selected in the Add-Ins dialog box, the add-in opens every time you start Excel.
Distributing the Excel add-in
If you’re in a generous mood, you can distribute this add-in to other Excel users simply by giving them a copy of the XLAM file. (They don’t need the XLSM version.) When they open the add-in, the new Change Case command appears on the shortcut menu when they select a range, one or more rows, or one or more columns. If you lock the VBA project with a password, others cannot view your macro code unless they know the password.
Modifying the Excel add-in
An add-in can be edited just like any other workbook. You can edit the XLAM file directly (you don’t need to work with the original XLSM version) by following these steps:
Open your XLAM file, if it’s not already open.
Activate the VBE.Double-click the project’s name in the Project window.
If you protected the code, you’re prompted for the password.
Enter your password, and click OK.
Унесите своје измене у код.
Сачувајте датотеку тако што ћете изабрати Датотека → Сачувај.
Ако креирате додатак који чува информације на радном листу, морате да подесите својство ИсАддИн радне свеске на Фалсе да бисте видели радну свеску. Ово радите у прозору Својства када је изабран објекат ТхисВоркбоок. Након што извршите измене у радној свесци, уверите се да сте својство ИсАддИн вратили на Тачно пре него што сачувате датотеку.
Прављење додатка, а не додатка.