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

Екцел ВБА ФилеСистемОбјецт (ФСО)

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

Много задатака можемо да урадимо помоћу ФСО-а, попут „да проверимо да ли је фасцикла доступна или не“, креирамо нову фасциклу или датотеке, преименујемо постојећу мапу или датотеке, добијамо листу свих датотека у фасцикли, као и имена подмапа. . Коначно, можемо копирати датотеке са једне локације на другу.

Иако постоје друге функције доступне за рад са директоријумима и датотекама, ФСО је најједноставнији начин рада са директоријумима и датотекама одржавањем ВБА кода уредним и равним.

Помоћу ФилеСистемОбјецт можемо приступити четири врсте Објеката. Испод су они.

  1. Погон: Помоћу овог објекта можемо да проверимо да ли поменути погон постоји или не. Можемо добити назив путање, врсту сврхе и величину предузећа.
  2. Мапа: Овај објекат нам омогућава да проверимо да ли одређена фасцикла постоји или не. Помоћу овог објекта можемо креирати, брисати, мењати, копирати фасцикле.
  3. Датотека: Овај објекат нам омогућава да проверимо да ли одређена датотека постоји или не. Помоћу овог ВБА објекта можемо стварати, брисати, мењати, копирати датотеке.
  4. Текстуални ток: Овај објекат нам омогућава стварање или читање текстуалних датотека.

Све горе наведене методе имају свој метод за рад. На основу наших захтева можемо одабрати методу сваког објекта.

Како омогућити ФилеСистемОбјецт?

Није лако доступан у ВБА. Будући да је приступ датотекама и фасциклама спољни задатак екцела, морамо да омогућимо ФилеСистемОбјецт. Да бисте подстакли, следите кораке у наставку.

1. корак: Идите на Алати> Референце.

Корак # 2 - Изаберите опцију „Мицрософт Сцриптинг Рунтиме“

Померите се надоле и изаберите опцију „Мицрософт Сцриптинг Рунтиме“. Након избора опција, кликните на ОК.

Сада можемо приступити ФилеСистемОбјецт (ФСО) у ВБА.

Направите инстанцу ФилеСистемОбјецт

Једном када је омогућена опција „Мицрософт Сцриптинг Рунтиме“ из библиотеке Објецтс, треба да креирамо објект датотечног система (ФСО) помоћу кодирања.

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

Као што видимо, ФилеСистемОбјецт се појављује на листи ИнтеллиСенсе у ВБА. Ово не би било доступно пре него што омогућимо „Мицрософт Сцриптинг Рунтиме“.

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

Сада можемо приступити свим опцијама ФСО (ФилеСистемОбјецт).

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

Пример # 1 - Пронађите укупан простор за вожњу

Код у наставку ће дати укупан простор погона.

Шифра:

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

Сломити кодекс.

Прво смо створили инстанцу ФСО.

Затамни МиФирстФСО као ФилеСистемОбјецт Постави МиФирстФСО = Нови ФилеСистемОбјецт

Затим смо прогласили две променљиве.

Дим ДривеНаме Ас Дриве Дим ДривеСпаце Ас Доубле

Будући да је ДривеНаме Објецт променљива, ово морамо поставити на ФСО један од ФСО метода. С обзиром да су нам потребне карактеристике погона, користили смо опцију Набави погон и поменули назив погона.

Постави ДривеНаме = МиФирстФСО.ГетДриве ("Ц:")

За другу променљиву, ДривеСпаце, доделићемо методу слободног простора за погон којем приступамо.

ДривеСпаце = ИмеНазива.ФрееСпаце

Од сада нам горња једначина може ослободити простор погона „Ц.“ Да бисмо показали резултат у ГБ, поделили смо отворени простор са 1073741824

ДривеСпаце = ДривеСпаце / 1073741824

Даље ћемо заокружити број.

ДривеСпаце = Роунд (ДривеСпаце, 2)

На крају, резултат прикажите у оквиру за поруке.

МсгБок "Дриве" & ДривеНаме & "хас" & ДривеСпаце & "ГБ"

When we run the code manually or through shortcut key F5, then in the message box, we will get the free space of the drive “C.”

So, in my computer Drive C has 216.19 GB of free space memory.

Example #2 - Check Whether the Folder Exists or Not

To check whether the particular folder exists or not, use the below code.

If the mentioned folder is available, it will show us the message box as “The Mentioned Folder is Available.” If not, it will show the VBA message box as “The Mentioned Folder is Not Available.”

Code:

Sub FSO_Example2() Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FolderExists("D:Excel FilesVBAVBA Files") Then MsgBox "The Mentioned Folder is Available" Else MsgBox "The Mentioned Folder is Not Available" End If End Sub

Покрените овај код кроз Екцел пречицу Ф5 или ручно, а затим погледајте резултат.

Пример # 3 - Проверите да ли датотека постоји или не

Код у наставку ће проверити да ли је поменута датотека доступна или не.

Шифра:

Суб ФСО_Екампле3 () Затамни МиФирстФСО као ФилеСистемОбјецт Сет МиФирстФСО = Нев ФилеСистемОбјецт Иф МиФирстФСО.ФилеЕкистс ("Д: Екцел Филес ВБА ВБА Филес Тестинг Филе.клсм") Затим МсгБок "Поменута датотека је доступна" Елсе МсгБок Датотека није доступна "Енд Иф Енд Суб

Покрените овај код ручно или помоћу тастера Ф5, а затим погледајте резултат.

Занимљиви Чланци...