Mundarija
VBA da DIR funksiyasi asosan sizga ma'lum papkadagi katalog yoki fayllarni ko'rsatadi. Bu funksiya bilan birinchi faylni ham qaytarishi mumkin. Ushbu funktsiya muayyan fayl va papkalarni olish uchun juda ko'p foydalanishga ega. Faqat VBA kodining yo'l nomiga fayl yo'lini kiritish kifoya. VBA DIR kodlaridan foydalanish sizga qiyinroq tuyulishi mumkin. Xavotir olmang, ushbu maqolada biz sizga VBA DIR funktsiyasidan foydalanishni yaxshiroq vizuallashtirish uchun bir nechta misollarni ko'rsatamiz. Umid qilamanki, siz maqolani o'qib chiqqandan so'ng funksiyadan foydalana olasiz. Shunday qilib, keling, boshlaymiz.
Amaliyot kitobini yuklab oling
Quyidagi mashq kitobini yuklab oling. Bu sizga mavzuni yaxshiroq tushunishga yordam beradi.
DIR Function.xlsm
DIR funktsiyasiga kirish
Xulosa:
VBA DIR funksiyasi berilgan papka yoʻlidan fayl yoki katalog nomini qaytaradi. An'anaviy ravishda u birinchi faylni qaytaradi.
Sintaksis:
Dir [ (pathname, [ attributes ] ) ]
Argumentlar izohi:
Argument | Majburiy/ixtiyoriy | Izoh |
---|---|---|
Yo'l nomi | Ixtiyoriy | Yo'l faylga kirish va uni belgilaydi |
Atributlar | Majburiy emas | Doimiy yoki sonli ifoda mos keladigan fayllar atributlarini belgilaydi |
Bir nechta oldindan mavjudbelgilangan atributlar, ular-
Atribut nomi | Tavsif |
---|---|
vbNormal | Fayllar maxsus atributlari yo'q |
vbReadOnly | Atributlari bo'lmagan faqat o'qish uchun mo'ljallangan fayllar |
vbHidden | Yashirin atributlari bo'lmagan fayllar |
vbSystem | Atributlari bo'lmagan tizim fayllari |
vbVolume | Ovoz yorlig'i |
vbDirectory | Atributlari bo'lmagan kataloglar yoki papkalar |
vbAlias | Ko'rsatilgan fayl nomi taxallusdir |
Excelda VBA DIR funksiyasidan foydalanishga 7 ta misol
Tavsifdan siz VBA DIR funktsiyasi quyidagi imkoniyatlarni taqdim etishini tushungan bo'lishingiz mumkin. taqdim etilgan yo'l nomidan fayl nomi. Keling, buni misol bilan tushunaylik. Bu yerda biz sizga turli misollarni ko'rsatish uchun Exceldemy_Folder katalogini yaratdik. Ushbu papkada turli xil kichik papkalar va fayllar mavjud.
1. Fayl nomini yoʻldan toping
Bizning papkada maʼlum bir faylni topishimiz mumkin: fayl nomi yo'lini e'lon qilish.
Fayl yo'lini nusxalashdan so'ng kodni ishga tushirishingiz kerak.
Shuning uchun Tuzuvchi yorlig'iga o'ting >> Visual Basic -ni tanlang. Keyin Qo'shish yorlig'iga o'ting >> Module -ni tanlang. Umumiy dialog oynasida biz kodni yozamiz.
Bizning kun tartibimiz Fayl nomi ni yo'l nomidan o'rnatamizto'liq yo'l nomi (ildizdan faylga qadar) va bizning kodimiz bo'ladi
9763
Bu erda kodimiz ichida biz yo'l nomini E:\Exceldemy\Sales_of_January sifatida o'rnatdik. xlsx
Kodlarni taqsimlash:
- Dastavval biz FN
. Va Dir funktsiyasining chiqishi ushbu o'zgaruvchida saqlangan. - Keyin, Dir funksiyasi fayl nomini topadi va uni taqdim etilgan yo'ldan qaytaradi.
- Keyin MsgBox xabarlar oynasi orqali chiqishni o'rnatadi. MsgBox xabar qutisi yordamida natijani qaytaradi.
- Keyin, kodni F5 tugmachasi bilan ishga tushiring.
Nihoyat, biz Sales_of_January.xlsx nomli faylni topdik.
2. Katalog mavjudligini tekshiring
Biz Dir funksiyasi yordamida katalog mavjudligini tekshirishimiz mumkin. Exceldemy jildining mavjudligini tekshirish uchun kodni yozamiz. Umumiy maydonchaga quyidagi kodni yozing va uni F5 tugmasi bilan ishga tushiring.
9210
Kodlarni taqsimlash :
- Biz ikkita oʻzgaruvchini eʼlon qildik; PN tekshirish katalogimizning toʻliq yoʻl nomini oʻz ichiga oladi.
- Bu yerda Dir funksiyasida biz ikkita qiymatni oʻrnatdik, yoʻl nomi va atribut. qiymati vbDirectory sifatida. Ushbu atribut qiymati katalogni aniqlashga yordam beradi. Va bu funktsiyaning chiqishi faylda saqlanadi Fayl oʻzgaruvchi.
- Keyin biz oʻzgaruvchining boʻsh yoki yoʻqligini tekshirdik. Agar biz o'zgaruvchining yo'qligini aniqlasak, u holda xabarlar oynasi orqali katalog mavjudligini e'lon qilamiz, aks holda, qaytish mavjud emas.
Bu erda Exceldemy katalogi mavjud, shuning uchun biz “ Exceldemy mavjud ” ni topamiz, bu erda Exceldemy jildning nomi.
3. Mavjud bo'lmagan papka yaratish
Siz shaxsiy kompyuteringizda mavjud bo'lmagan papka yaratishingiz mumkin. Buning uchun papkalaringizda mavjud bo'lmagan yo'l nomini yaratishingiz kerak. Tasavvur qilaylik, biz Exceldemy_1 nomli katalog yaratamiz. Biz katalog yaratish uchun MkDir buyrug'idan foydalanamiz, lekin undan oldin quyidagi VBA kodini yozishimiz kerak.
5419
Bu yerda kodimizning Else blokidagi yo‘l nomidan foydalanib katalog yaratish buyrug‘ini yozdik. F5 tugmasi bilan kodni Ishga tushirish .
Katalog yaratildi. Keling, katalog papkasini ko'rib chiqaylik. Exceldemy_1 papkasi endi kompyuteringizda ko'rinadi.
O'xshash o'qishlar:
- Excelda VBA-da Sub-ni qanday chaqirish mumkin (4 ta misol)
- VBA funksiyasida qiymatni qaytarish (ham massiv, ham massiv bo'lmagan qiymatlar)
- Excelda VBA UCASE funksiyasidan foydalanish (4 ta misol)
- Qanday qilib TRIM funksiyasidan foydalanish kerakExcelda VBA (ta'rif + VBA kodi)
4. Katalogdan birinchi faylni toping
Dir funktsiyasining asosiy vazifasi: taqdim etilgan katalogdagi birinchi faylni topish uchun. Funksiya ichida taqdim etishingiz kerak bo'lgan yagona narsa bu yo'l nomi (konteyner katalogigacha) va u o'sha katalogdan eng birinchi faylni qaytaradi.
Keling, bizning dan birinchi faylni topamiz. Exceldemy katalogi. Bizning kodimiz bo'ladi
1787
Siz asosiy kodni ko'rishingiz mumkin; biz yo'l nomini Dir funksiyasiga o'tkazdik. Endi F5 tugmasi bilan kodni Ishga tushirish , siz ushbu katalogdagi birinchi faylni topasiz.
5. Hammasini toping Katalogdagi fayllar
Oldingi bo'limda biz katalogdan birinchi fayl nomini qanday topishni ko'rib chiqdik. Vaziyat ma'lum bir katalogdan barcha fayllarni topishingiz kerak bo'lganda paydo bo'lishi mumkin. Muayyan katalogdagi barcha fayllarni topish uchun siz quyidagi VBA kodini yozishingiz kerak.
3790
Bu yerda fayl nomlarini saqlash uchun ikkita oʻzgaruvchi mavjud. bitta ( FN ) va ro'yxat sifatida ( FL ). Do While tsikli katalogda hech qanday fayl qolmaguncha takrorlanadi, bu sikldan foydalanib, biz har bir fayl nomini FL oʻzgaruvchisiga kiritamiz.
Kodni bajaring, va siz quyidagi rasmdagi kabi katalogdagi barcha fayllarni topasiz.
6. Katalogdan barcha fayl va papkalarni toping
BizOldingi bo'limda barcha fayllarni qaerdan topish kerakligini aytib o'tgan edik. Jilddagi barcha pastki papkalarni ham topishimiz mumkin. Buning uchun biz quyida biriktirgan quyidagi VBA kodini yozing.
8990
Kodimizdagi o'zgarish faqat atribut parametrlaridan foydalanishdan iborat. Biz bu sohada vbDirectory dan foydalanganmiz. Kodni ishga tushiring, shunda siz Exceldemy_Folder ning barcha fayllari va pastki papkalarini topasiz.
7 Muayyan turdagi barcha fayllarni toping
VBA Dir funktsiyasidan foydalanib, biz har qanday muayyan turdagi faylni topishimiz mumkin. Keling, misol bilan ko'rib chiqamiz.
Biz katalogimizdan .csv fayllarini topamiz. Bizning kodimiz quyidagi kabi bo'ladi-
4188
Umid qilamizki, siz fayllarni topish uchun o'xshash mexanizmdan foydalanadigan kodni tushundingiz. Yo'l nomida biz joker belgidan foydalandik ( * ). Bu yulduzcha (*) har qanday raqamgacha bo'lgan har qanday belgi paydo bo'lishi mumkinligini bildiradi. Joker belgi shunday ishlatilganki, fayl nomi har qanday boʻlishi mumkin, lekin .csv fayli boʻlishi kerak.
Kodni ishga tushirganingizda, u ni qaytaradi. csv fayllari Exceldemy katalogimizdan.
Amaliyot bo'limi
Biz amaliyotni taqdim etdik amaliyotingiz uchun har bir varaqning o'ng tomonidagi bo'lim. Iltimos, buni o'zingiz bajaring.
Xulosa
Bugungi mashg'ulot haqida. Va bu oddiy misollarExcelda VBA Dir funktsiyasining. Agar sizda biron bir savol yoki taklifingiz bo'lsa, sharhlar bo'limida bizga xabar bering. Yaxshiroq tushunish uchun, iltimos, amaliyot varag'ini yuklab oling. Turli xil Excel usullari haqida ma'lumot olish uchun bizning veb-saytimizga tashrif buyuring, Exceldemy , bir martalik Excel yechimlari provayderi. Ushbu maqolani o'qishda sabr qilganingiz uchun tashakkur.