Excelda VBA DIR funksiyasidan qanday foydalanish (7 amaliy misol)

  • Buni Baham Ko'Ring
Hugh West

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.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.