Проверите постојање датотека помоћу Екцел ВБА

Програми за провјеру датотеке ВБА помажу у провјери да ли датотека постоји на локацији помоћу Екцел ВБА. Након што смо у рачунару поменули пут датотеке, шта ако неко избрише датотеку или промени путању мапе датотеке, очигледно је да ће наш код у таквим случајевима унети грешку. Да бисмо решили овај проблем, можемо учинити једну ствар пре него што заправо отворимо датотеку, можемо проверити да ли наведена датотека постоји или не.

У овом ћемо вам чланку показати како провјерити постоји ли одређена споменута датотека или не.

Како да проверите да ли датотека постоји или не?

  • Како екцел ВБА зна да ли датотека постоји или не ??
  • Подразумевано, не може !!!
  • Па како онда ??
  • Морамо да користимо функцију која се зове „Дир“ да проверимо да ли датотека постоји или не.

Шта ради ДИР функција?

ВБА ДИР функција враћа име датотеке уз његово проширење у наведеној путањи мапе. Када мапа нема ниједну датотеку, враћа празан низ.

Тако да помоћу ове функције заправо можемо тестирати да ли датотека постоји или не. Чак и без функције ДИР, можемо тестирати да ли датотека постоји или не. Неке примере ћемо видети у наставку.

Како се користи ВБА Цхецк Филе постоји у Екцелу?

Научићемо како се користи ВБА функција провере датотеке постоји са неколико примера у екцелу.

Овде можете преузети овај датотеку ВБА Проверите датотеку Екцел шаблона - ВБА Проверите датотеку постоји Екцел предложак

Пример бр. 1 - ВБА Цхецк Филе постоји

Ок, напишемо неки код како бисмо тестирали да ли датотека постоји или не. Следите доле наведене кораке да бисте сами написали код.

Корак 1: За то идите на прозор ВБА и испод менија Уметање изаберите Модул као што је приказано испод.

Корак 2: Покрените подпроцесуру.

Шифра:

 Суб Филе_Екампле () Крај Суб 

Корак 3: Дефинишите променљиву као Стринг.

Шифра:

 Суб Филе_Екампле () Дим ФилеПатх као Стринг Енд Суб 

Корак 4: Сада желим да тестирам датотеку названу „Поглавље 11. ИнпутБокес.клсм "у мом е-диску". Датотеку датотеке додијелит ћу овој варијабли.

Шифра:

 Суб Филе_Екампле () Дим ФилеПатх као стринг стринг ФилеПатх = "Д: \ Тест Филе.клск" Енд Суб 

Корак 5: Сада дефинишите још једну променљиву за примену функције ДИР.

Шифра:

 Под Филе_Екампле () Дим ФилеПатх као низ Дим Дим ФилеЕкистс као стринг стринг ФилеПатх = "Д: \ Тест Филе.клск" Енд Суб 

Корак 6: Сада за другу променљиву отворите функцију ДИР.

Шифра:

 Под Филе_Екампле () Дим ФилеПатх као стринг Дим ФилеЕкистс као стринг стринг ФилеПатх = "Д: \ Тест Филе.клск" ФилеЕкистс = Дир (Крај Суб 

Корак 7: ДИР функција захтева путању датотеке. Будући да смо пут датотеке додијелили варијабли „ФилеПатх“, ову варијаблу једноставно можемо прослиједити ДИР функцији.

Шифра:

 Суб Филе_Екампле () Дим ФилеПатх као низ Дим Дим ФилеЕкистс као стринг стринг ФилеПатх = "Д: \ Тест Филе.клск" ФилеЕкистс = Дир (ФилеПатх) Крај Суб 

Корак 8: Сада функција ДИР враћа само Име датотеке као „Поглавље-11. ИнпутБокес ”из поменутог пута датотеке. Дакле, показајмо резултат у оквиру за поруке.

Шифра:

 Под Филе_Екампле () Дим ФилеПатх као низ Дим Дим ФилеЕкистс као стринг стринг ФилеПатх = "Д: \ Тест Филе.клск" ФилеЕкистс = Дир (ФилеПатх) МсгБок ФилеЕкитс Енд Суб 

Корак 9: Сада покрените макро да бисте видели резултат.

Будући да на поменутом путу постоји датотека, наша ДИР функција филтрирала је име датотеке са огромног пута.

Корак 10: Сада ћу променити име датотеке у другу ствар која не постоји на поменутој путањи.

Шифра:

 Под Филе_Екампле () Дим ФилеПатх као стринг Дим Дим ФилеЕкистс као стринг стринг ФилеПатх = "Д: \ Филе.клск" ФилеЕкистс = Дир (ФилеПатх) МсгБок (ФилеЕкистс) Крај Суб 

Корак 11: Ако сада покренем код, он ће вратити празан низ у пољу за поруке.

ДИР функција је најприкладнија за употребу са ИФ изјавом у ВБА. Горе смо могли видети само име датотеке са екстензијом ако постоји или бисмо могли видети само празан низ.

Пример бр. 2 - ДИР са ИФ условима

Корак 1: Али користећи ИФ изјаву са функцијом ДИР, можемо променити наше резултате. За пример погледајте доњи код.

Шифра:

 Под Филе_Екампле1 () Дим ФилеПатх као стринг Дим ФилеЕкистс као стринг стринг ФилеПатх = "Ц: \ Усерс \ цба_28 \ Десктоп \ Алек \ Финал Инпут.клсм" ФилеЕкистс = Дир (ФилеПатх) Ако ФилеЕкистс = "" Онда МсгБок "датотека не постоји споменута стаза "Елсе МсгБок" Датотека постоји у поменутој стази "Енд Иф Енд Суб 

Корак 2: Овде ИФ услов проверава да ли вредност променљиве „ФилеЕкистс“ није ништа („“) или не. Ако вредност променљиве није ништа („”), она ће вратити резултат као „Датотека не постоји на наведеној путањи“, или ће вратити резултат као „Датотека постоји на наведеној путањи“

Испод је пример снимка истог.

Помоћу функције ДИР можемо провјерити да ли датотека постоји или не.

Препоручени чланци

Ово је водич за ВБА датотеке за проверу. Овдје смо расправљали о томе како користити Екцел ВБА функцију провјере постојећих датотека уз практичне примјере и довнлоад-ов екцел предложак. Можете и да прођете кроз друге наше предложене чланке -

  1. Копирајте функцију лепљења у ВБА
  2. Подстринг Екцел функција
  3. ВБА претплата изван домета
  4. Екцел ИСНУМБЕР Формула

Категорија: