Microsoft Excel uchun o'z plaginingizni qanday yaratishingiz mumkin

Qanday qilib dasturlashni bilmasangiz ham, Excelda juda ko'p oddiy vazifalar uchun tayyor VBA so'l kodini topishingiz mumkin bo'lgan ko'plab joylar (kitoblar, veb-saytlar, forumlar) mavjud. Mening tajribamga ko'ra, ko'pchilik foydalanuvchilar ertami-kechmi muntazam jarayonlarni avtomatlashtirish uchun shaxsiy makrolar to'plamini to'playdi, xoh u formulalarni qiymatlarga aylantirish, so'zlarda yig'indilarni ko'rsatish yoki ranglar bo'yicha hujayralarni yig'ish. Va bu erda muammo paydo bo'ladi - Visual Basic-dagi so'l kod keyinchalik ishda foydalanish uchun biron bir joyda saqlanishi kerak.

Eng oson variant - klaviatura yorlig'i yordamida Visual Basic muharririga o'tish orqali so'l kodni to'g'ridan-to'g'ri ishchi faylga saqlash. Alt+F11 va menyu orqali yangi bo'sh modul qo'shish Qo'shish - modul:

Biroq, bu usulning bir qator kamchiliklari mavjud:

  • Agar juda ko'p ishlaydigan fayllar bo'lsa va makro hamma joyda kerak bo'lsa, masalan, formulalarni qiymatlarga aylantirish uchun makro, u holda siz kodni nusxalashingiz kerak bo'ladi. har bir kitobda.
  • Esdan chiqarmaslik kerak faylni makro formatda saqlang (xlsm) yoki ikkilik kitob formatida (xlsb).
  • Bunday faylni ochganda makro himoya har safar tan olinishi kerak bo'lgan ogohlantirishni chiqaradi (yaxshi yoki himoyani butunlay o'chirib qo'ying, bu har doim ham istalmagan bo'lishi mumkin).

Yaratish yanada oqlangan yechim bo'ladi shaxsiy plaginingiz (Excel plaginlari) - barcha "sevimli" makroslaringizni o'z ichiga olgan maxsus formatdagi (xlam) alohida fayl. Ushbu yondashuvning afzalliklari:

  • Bu etarli bo'ladi qo'shimchani bir marta ulang Excelda - va siz ushbu kompyuterdagi istalgan faylda uning VBA protseduralari va funktsiyalaridan foydalanishingiz mumkin. Ishchi fayllarni xlsm va xlsb formatlarida qayta saqlash, shuning uchun talab qilinmaydi, chunki. manba kodi ularda emas, balki qo'shimcha faylda saqlanadi.
  • himoya makroslar ham sizni bezovta qilmaydi. qo'shimchalar, ta'rifiga ko'ra, ishonchli manbalardir.
  • Qila olmoq alohida yorliq qo'shimcha makrolarni ishga tushirish uchun chiroyli tugmalar bilan Excel lentasida.
  • Qo'shimcha alohida fayldir. Uning olib yurish oson kompyuterdan kompyuterga, uni hamkasblar bilan baham ko'ring yoki hatto soting 😉

Keling, o'zingizning Microsoft Excel plaginini yaratish jarayonini bosqichma-bosqich ko'rib chiqaylik.

Qadam 1. Qo'shimcha fayl yarating

Microsoft Excel-ni bo'sh ish kitobi bilan oching va uni istalgan mos nom bilan saqlang (masalan MyExcelAddin) buyrug'i bilan qo'shimcha formatda Fayl - Boshqacha saqlash yoki kalitlar F12, fayl turini belgilash Excel plaginlari:

Esda tutingki, Excel sukut bo'yicha plaginlarni C:UsersYour_nameAppDataRoamingMicrosoftAddIns papkasida saqlaydi, lekin, qoida tariqasida, siz uchun qulay bo'lgan boshqa papkani belgilashingiz mumkin.

Qadam 2. Biz yaratilgan plaginni ulaymiz

Endi biz oxirgi bosqichda yaratgan plagin MyExcelAddin Excelga ulangan bo'lishi kerak. Buning uchun menyuga o'ting Fayl - Variantlar - Qo'shimchalar (Fayl - Variantlar - Qo'shimchalar), tugmasini bosing Biz haqimizda (Borish) oynaning pastki qismida. Ochilgan oynada tugmani bosing Review (Ko'rish) va qo'shimcha faylimiz joylashuvini belgilang.

Agar siz hamma narsani to'g'ri qilgan bo'lsangiz, unda bizning MyExcelAddin mavjud qo'shimchalar ro'yxatida paydo bo'lishi kerak:

Qadam 3. Qo'shimchaga makroslarni qo'shing

Bizning plaginimiz Excelga ulangan va muvaffaqiyatli ishlaydi, ammo unda hali bitta so'l yo'q. Keling, uni to'ldiramiz. Buning uchun klaviatura yorlig'i bilan Visual Basic muharririni oching Alt+F11 yoki tugma orqali Visual Basic tab dasturchi (ishlab chiquvchi). Agar yorliqlar dasturchi ko'rinmaydi, u orqali ko'rsatilishi mumkin Fayl - Variantlar - Tasmani o'rnatish (Fayl - Variantlar - Tasmani sozlash).

Tahrirlovchining yuqori chap burchagida oyna bo'lishi kerak loyiha (agar u ko'rinmasa, uni menyu orqali yoqing Ko'rish - Loyiha Explorer):

Ushbu oynada barcha ochiq ish kitoblari va ishlaydigan Microsoft Excel plaginlari, shu jumladan biznikini ko'rsatadi. VBAProject (MyExcelAddin.xlam) Uni sichqoncha bilan tanlang va menyu orqali unga yangi modul qo'shing Qo'shish - modul. Ushbu modulda biz qo'shimcha makrolarimizning VBA kodini saqlaymiz.

Siz kodni noldan yozishingiz mumkin (agar dasturlashni bilsangiz) yoki uni tayyor joydan nusxalashingiz mumkin (bu ancha oson). Keling, sinov uchun qo'shilgan bo'sh modulga oddiy, ammo foydali makro kodini kiritamiz:

Kodni kiritgandan so'ng, yuqori chap burchakdagi saqlash tugmasini (disket) bosishni unutmang.

Bizning makro Formulalar uchun qiymatlar, siz osongina tasavvur qilganingizdek, formulalarni oldindan tanlangan diapazondagi qiymatlarga aylantiradi. Ba'zan bu makroslar ham deyiladi protseduralar. Uni ishga tushirish uchun siz formulalar bilan hujayralarni tanlashingiz va maxsus dialog oynasini ochishingiz kerak macros tabdan dasturchi (Dasturchi — Makroslar) yoki klaviatura yorlig'i Alt+F8. Odatda, bu oynada barcha ochiq ishchi kitoblardagi mavjud makroslar ko'rsatiladi, ammo qo'shimcha makrolar bu erda ko'rinmaydi. Shunga qaramay, maydonga protseduramiz nomini kiritishimiz mumkin makro nomi (Makro nomi)va keyin tugmani bosing yugurish (yugurish) – va bizning makromiz ishlaydi:

    

Bu erda siz so'lni tezda ishga tushirish uchun klaviatura yorlig'ini ham belgilashingiz mumkin - bu tugma bu uchun javobgardir Parameters (Tanlovlar) oldingi oynada Ibratli:

Tugmalarni tayinlashda, ular katta-kichik va klaviatura tartibiga sezgir ekanligini yodda tuting. Shunday qilib, siz kabi kombinatsiyani tayinlasangiz Ctrl+Й, keyin, aslida, kelajakda siz tartib yoqilganligiga ishonch hosil qilishingiz va qo'shimcha ravishda bosishingiz kerak bo'ladi. smenabosh harfni olish uchun.

Qulaylik uchun oynaning yuqori chap burchagidagi tezkor kirish asboblar paneliga makrosimiz uchun tugmani ham qo'shishimiz mumkin. Buning uchun ni tanlang Fayl - Variantlar - Tez kirish asboblar paneli (Fayl - Variantlar - Tez kirish asboblar panelini sozlash), va keyin oynaning yuqori qismidagi ochiladigan ro'yxatda variantni tanlang macros. Shundan so'ng bizning makromiz Formulalar uchun qiymatlar tugmasi bilan panelga joylashtirilishi mumkin qo'shish (Qo'shish) va tugma yordamida uning belgisini tanlang o'zgarish (Edit):

Qadam 4. Qo'shimchaga funktsiyalar qo'shing

lekin makroprotseduralar, ham bor funktsiya makroslari yoki ular deyilganidek UDF (Foydalanuvchi tomonidan belgilangan funktsiya = foydalanuvchi tomonidan belgilangan funktsiya). Keling, plaginimizda alohida modul yarataylik (menyu buyrug'i Qo'shish - modul) va u erga quyidagi funksiya kodini joylashtiring:

Bu funksiya QQSni o'z ichiga olgan summadan QQSni olish uchun zarur ekanligini tushunish oson. Albatta, Nyutonning binomial emas, lekin bu bizga asosiy tamoyillarni ko'rsatish uchun misol sifatida yordam beradi.

E'tibor bering, funktsiya sintaksisi protseduradan farq qiladi:

  • qurilishdan foydalaniladi Funktsiya…. Tugatish funktsiyasi Buning o'rniga Sub … End Sub
  • funksiya nomidan keyin uning argumentlari qavs ichida ko'rsatiladi
  • funktsiya tanasida kerakli hisoblar bajariladi va natija funktsiya nomi bilan o'zgaruvchiga beriladi.

Shuni ham yodda tutingki, bu funktsiya kerak emas va dialog oynasi orqali oldingi so'l protsedura kabi ishga tushirish mumkin emas macros va tugma yugurish. Bunday so'l funksiyadan standart ish varag'i funktsiyasi sifatida foydalanish kerak (SUM, IF, VLOOKUP...), ya'ni argument sifatida QQS bilan summaning qiymatini ko'rsatgan holda istalgan katakchaga kiriting:

… yoki funksiyani kiritish uchun standart dialog oynasi orqali kiriting (tugma fx formulalar satrida) toifani tanlash Foydalanuvchi aniqlangan (Foydalanuvchi tomonidan belgilangan):

Bu erda yagona yoqimsiz daqiqa - bu oynaning pastki qismida funksiyaning odatiy tavsifi yo'qligi. Uni qo'shish uchun siz quyidagilarni qilishingiz kerak:

  1. Visual Basic muharririni klaviatura yorlig'i bilan oching Alt+F11
  2. Loyiha panelida plaginni tanlang va tugmani bosing F2Ob'ekt brauzeri oynasini ochish uchun
  3. Oynaning yuqori qismidagi ochiladigan ro'yxatdan qo'shimcha loyihangizni tanlang
  4. Ko'rsatilgan funktsiyani o'ng tugmasini bosing va buyruqni tanlang xususiyatlari.
  5. Oynaga funksiya tavsifini kiriting Tavsif
  6. Qo'shimcha faylni saqlang va Excelni qayta ishga tushiring.

Qayta ishga tushirilgandan so'ng, funktsiya biz kiritgan tavsifni ko'rsatishi kerak:

Qadam 5. Interfeysda qo'shimcha yorliq yarating

Yakuniy, majburiy bo'lmasa-da, lekin yoqimli teginish bizning plaginimizni ulagandan so'ng Excel interfeysida paydo bo'ladigan bizning makrosimizni ishga tushirish tugmasi bilan alohida yorliq yaratish bo'ladi.

Sukut bo'yicha ko'rsatiladigan yorliqlar haqidagi ma'lumotlar kitobda mavjud va maxsus XML kodida formatlanishi kerak. Bunday kodni yozish va tahrirlashning eng oson yo'li maxsus dasturlar - XML ​​muharrirlari yordamida amalga oshiriladi. Eng qulay (va bepul) biri Maksim Novikovning dasturidir Ribbon XML muharriri.

U bilan ishlash algoritmi quyidagicha:

  1. XML qo'shimcha kodini tahrirlashda fayl ziddiyati bo'lmasligi uchun barcha Excel oynalarini yoping.
  2. Ribbon XML Editor dasturini ishga tushiring va unda MyExcelAddin.xlam faylimizni oching.
  3. Tugma bilan tabs yuqori chap burchakda yangi tab uchun kod parchasini qo'shing:
  4. Siz bo'sh tirnoqlarni qo'yishingiz kerak id yorlig'imiz va guruhimiz (har qanday noyob identifikatorlar) va ichida belgi - bizning yorlig'imiz va undagi tugmalar guruhi nomlari:
  5. Tugma bilan tugma chap panelda tugma uchun bo'sh kod qo'shing va unga teglar qo'shing:

    - yorliq tugmachadagi matndir

    — imageMso — bu tugmadagi tasvirning shartli nomi. Men AnimationCustomAddExitDialog deb nomlangan qizil tugma belgisidan foydalandim. Mavjud bo'lgan barcha tugmalarning nomlarini (va ularning bir necha yuztasi bor!) Agar siz "imageMso" kalit so'zlarini qidirsangiz, Internetdagi ko'plab saytlarda topish mumkin. Yangi boshlanuvchilar uchun bu erga borishingiz mumkin.

    - onAction - bu qayta qo'ng'iroq qilish protsedurasining nomi - bizning asosiy makrosimizni ishga tushiradigan maxsus qisqa makro Formulalar uchun qiymatlar. Ushbu protsedurani xohlaganingizcha chaqirishingiz mumkin. Biz uni birozdan keyin qo'shamiz.

  6. Asboblar panelining yuqori qismidagi yashil tasdiq belgisi bo'lgan tugma yordamida bajarilgan hamma narsaning to'g'riligini tekshirishingiz mumkin. Xuddi shu joyda, barcha o'zgarishlarni saqlash uchun floppi bilan tugmani bosing.
  7. Ribbon XML muharririni yoping
  8. Excelni oching, Visual Basic muharririga o'ting va makromizga qayta qo'ng'iroq qilish protsedurasini qo'shing Formulalarni o'ldirishShunday qilib, u formulalarni qiymatlar bilan almashtirish uchun bizning asosiy makrosimizni ishga tushiradi.
  9. Biz o'zgarishlarni saqlaymiz va Excelga qaytib, natijani tekshiramiz:

Hammasi shu – plagin foydalanishga tayyor. Uni o'zingizning protseduralaringiz va funktsiyalaringiz bilan to'ldiring, chiroyli tugmalar qo'shing - va ishingizda makroslardan foydalanish ancha osonlashadi.

  • Makroslar nima, ulardan ishingizda qanday foydalanish kerak, Visual Basic dasturida makro kodni qayerdan olish mumkin.
  • Excelda ishchi kitobni ochishda ekranni qanday yaratish mumkin
  • Shaxsiy makro kitob nima va undan qanday foydalanish kerak

Leave a Reply