Увод у ФилеСистемОбјецт

Зашто користимо ВБА? ВБА користимо за аутоматизацију наших задатака. Нормално у екцелу радимо само са подацима који су присутни у редовима и колонама у облику табела или тако нечега. Али шта је са датотекама и мапама које нису део екцела? Шта ако нам требају да користимо те податке из било које датотеке како да им приступимо. Овде вам долази ФилеСистемОбјецт.

ФилеСистемОбјецт или ФСО користи се за приступ систему датотека са нашег рачунара. Помоћу тога можемо имати приступ свим мапама датотека које имамо на рачунару на којем радимо. ФСО је у основи АПИ алат који се користи за приступ другим датотекама. Ово сада није подразумевано присутно у ВБА о чему ћемо касније сазнати у овом чланку. Да прво разумемо шта је ФСО. Раније у ВБА имали смо ДИР функцију која је упућивана ради приступа другим датотекама и мапама са рачунара. Кодирање функције ДИР било је врло сложено за рад. Али у ФСО-у су ствари другачије.

Сада постоје четири врсте објеката којима можемо приступити путем ФСО-а и то су следећи:

  • Погон: Који се користи за приступ поменутом погону.
  • Фолдер: Користи се за приступ поменутој мапи.
  • Датотека: Користи се за приступ наведеној датотеци.
  • Текстуални ток: Са овим објектом можемо читати или писати текстуалну датотеку.

Сваки од горе наведених објеката има различите методе за њихово кориштење. На примјер, ако желимо копирати датотеку, користит ћемо методу ЦопиФиле или избрисати мапу, користит ћемо метод ДелетеФолдер и тако даље.

Као што сам горе рекао, ФСО није подразумевано присутан у ВБА, постоје две методе за омогућавање ФСО у ВБА.

  • Прва метода је постављањем референтне вредности.
  • Други начин је упућивање на библиотеку из кода.

Док је друга метода сложенија, увек се препоручује употреба прве методе која је веома једноставна. Пратимо ове основне кораке.

У ВБА идите на картицу Алати, а затим идите на Референце,

Појавиће се оквир чаробњака, одаберите Мицрософт Сцриптинг Рунтиме као што је приказано у наставку и притисните ОК.

Сада можемо приступити ФСО у ВБА. Сада ћемо то искористити кроз неке примере и научити о томе.

Како се користи ВБА ФилеСистемОбјецт у Екцелу?

Испод су различити примери за коришћење функције ВБА ФилеСистемОбјецт у Екцелу

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

ВБА ФилеСистемОбјецт - Пример бр. 1

Пре него што почнемо да користимо ФСО у Вби, прво да научимо како да креирамо инстанце у ВБА.

Корак 1: У под модулу направите потпроцедура,

Шифра:

 Суб Невфсо () Крај Суб 

2. корак: Декларишите променљиву као ФилеСистемОбјецт као што је приказано испод,

Шифра:

 Суб Невфсо () Дим А као ФилеСистемОбјецт Крај Под 

Корак 3: Сада морамо креирати инстанцу јер је ФСО објект помоћу СЕТ израза као што је приказано у наставку,

Шифра:

 Суб Невфсо () Дим А као ФилеСистемОбјецт Сет А = Нев ФилеСистемОбјецт Енд Суб 

Сада ће нам ова изјава омогућити да креирамо или мењамо датотеке или мапе користећи ФСО.

Корак 4: Сада можемо видети ИнтеллиСенсе функцију након омогућавања ФСО. Користите тачку оператора на следећи начин,

Шифра:

 Суб Невфсо () Дим А као ФилеСистемОбјецт Сет А = Нев ФилеСистемОбјецт А. Енд Суб 

Дали су нам разне могућности помоћу ИнтеллиСенсе функције. Овако стварамо инстанце користећи ФСО.

ВБА ФилеСистемОбјецт - Пример бр. 2

Будући да смо створили инстанцу у Примеру 1, идемо даље да је користимо и проверимо да ли датотека или мапа постоје или не.

Корак 1: Након што смо креирали нови ФилеСистемОбјецт, користите ИФ изјаву како бисте утврдили да ли мапа постоји или не, као што следи,

Шифра:

 Суб Невфсо () Дим А као ФилеСистемОбјецт Сет А = Нев ФилеСистемОбјецт Иф А.ФолдерЕкистс ("Ц: \ Усерс \ Публиц \ Пројецт"), а затим Енд Суб 

Корак 2: Ако фасцикла постоји желимо да прикажемо да постоји, а ако не желимо да се прикаже та мапа не постоји.

Шифра:

 Суб Невфсо () Дим А као ФилеСистемОбјецт Сет А = Нев ФилеСистемОбјецт Ако је А.ФолдерЕкистс („Ц: \ Усерс \ Публиц \ Пројецт") тада МсгБок „Фолдер постоји“, Елсе МсгБок „Мапа не постоји“ Енд Иф Енд Суб 

Корак 3: Сада извршите горњи код и видите резултат на следећи начин,

Мапа постоји на мојој радној површини, па добијамо поруку да директоријум постоји.

ВБА ФилеСистемОбјецт - Пример бр. 3

Од када смо разговарали о томе да ФСО има разне предмете попут дискова. Дознајмо колико простора имам на располагању у свом Е погону.

1. корак: Започните другом подпроцедуром на следећи начин,

Шифра:

 Суб Невфсо1 () Крај Суб 

Корак 2: Сада декларишите променљиву као ФилеСистемОбјецт и поставите је на нову инстанцу на следећи начин,

Шифра:

 Суб Невфсо1 () Дим А као ФилеСистемОбјецт Сет А = Нев ФилеСистемОбјецт Енд Суб 

Корак 3: Будући да користимо својство Дриве, декларишемо једну променљиву као тип Дриве и једну променљиву као двоструку да би се подаци за простор задржали на следећи начин,

Шифра:

 Под Невфсо1 () Дим А као ФилеСистемОбјецт Сет А = Нови ФилеСистемОбјецт Дим Д као погон, Дспаце као двоструки крајњи суб 

Корак 4: Сада направимо нови објект погона као што је приказано у наставку,

Шифра:

 Под Невфсо1 () Дим А као ФилеСистемОбјецт Сет А = нови ФилеСистемОбјецт Дим Д као погон, Дспаце као двоструко постављен Д = А.ГетДриве ("Ц:") Крај Суб 

Ово је један од ФСО метода који користимо за приступ погону.

Корак 5: Користићемо другу ФСО методу да добијемо слободни простор драјва и похранимо га у променљиву дефинисану за складиштење простора у погону,

Шифра:

 Под Невфсо1 () Дим А као ФилеСистемОбјецт Сет А = нови ФилеСистемОбјецт Дим Д као погон, Дспаце као двоструко постављен Д = А.ГетДриве ("Ц:") Дспаце = Д.ФрееСпаце Енд Суб 

Корак 6: Сада израчунајмо простор у ГБ на следећи начин:

Шифра:

 Под Невфсо1 () Дим А као ФилеСистемОбјецт Сет А = Нови ФилеСистемОбјецт Дим Д као погон, Дспаце као двоструко постављен Д = А.ГетДриве ("Ц:") Дспаце = Д.ФрееСпаце Дспаце = Роунд ((Дспаце / 1073741824), 2) Енд Суб 

Корак 7: Сада прикажите вредност која је сачувана у дисковном простору користећи функцију мсгбок на следећи начин:

Шифра:

 Под Невфсо1 () Дим А као ФилеСистемОбјецт Сет А = Нови ФилеСистемОбјецт Дим Д као погон, Дспаце као двоструко постављен Д = А.ГетДриве ("Ц:") Дспаце = Д.ФрееСпаце Дспаце = Роунд ((Дспаце / 1073741824), 2) МсгБок "Тхе Дриве" & Д& "има" & Дспаце & "ГБ фрее Спаце" Крај Суб 

Корак 8: Извршите горњи код да бисте сазнали доњи резултат,

ВБА ФилеСистемОбјецт - Пример бр. 4

Сада ћемо створити нову фасциклу на одређеној локацији помоћу ФСО.

Корак 1: Почнимо са другом подпроцедуром на следећи начин,

Шифра:

 Суб Невфсо2 () Крај Суб 

2. корак: пратимо исте кораке и створимо инстанцу на следећи начин,

Шифра:

 Суб Невфсо2 () Дим А као ФилеСистемОбјецт Сет А = Нев ФилеСистемОбјецт Енд Суб 

Корак 3: Сада ћемо користити методу Цреате Фолдер да креирамо нову фасциклу на одређеној локацији,

Шифра:

 Под Невфсо2 () Дим А као ФилеСистемОбјецт Сет А = Нови ФилеСистемОбјецт А.ЦреатеФолдер ("Ц: \ Усерс \ Публиц \ Пројецт \ ФСОЕкампле") Енд Суб 

Корак 4: Извршите горњи код и видите резултат на радној површини на следећи начин,

Успешно смо креирали нову фасциклу на наведеној локацији.

Ствари које треба запамтити у ВБА ФилеСистемОбјецт

  • ФСО је алат за АПИ апликацију.
  • ФСО није стандардно доступан у ВБА.
  • Помоћу ФСО-а можемо да креирамо, мењамо или читамо датотеке и мапе на рачунару.
  • Такође можемо користити ФСО за наше мрежне погоне.

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

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

  1. Комплетан водич за ВБА радну књижицу
  2. Индиректна функција у Екцелу
  3. ВБА Цоунт фунцтион
  4. Екцел КСОР функција

Категорија: