VBA GetFolder & GetFile (Отримати властивості файлів і папок)

Цей підручник покаже, як використовувати методи GetFolder та GetFile для FileSystemObject.

Отримайте властивості папок та файлів за допомогою VBA FileSystemObject

Метод GetFolder повертає об’єкт Folder, відповідний папці у вказаному шляху, і дозволяє отримати доступ до його властивостей. Метод GetFile робить те саме з вказаним файлом.

Встановити посилання VBA

По-перше, під час використання FileSystemObjects вам може знадобитися встановити посилання на бібліотеку виконання сценарію VB: відкрийте редактор Visual Basic (ALT+F11), виберіть Інструменти> Посилання у спадному меню та встановіть прапорець біля "Виконання сценаріїв Microsoft".

FileSystemObject

По -друге, ви повинні створити FileSystemObject:

12 Затемнити FSO як новий FileSystemObjectВстановити FSO = CreateObject ("Scripting.FileSystemObject")

Тепер у вас є доступ до GetFolder та інших методів FileSystemObject.

Використання методу GetFolder

Після вказівки папки, до якої потрібно отримати доступ

1 Встановити fld = FSO.GetFolder ("C: \ Src \")

Ви можете скопіювати його:

1 fld.Копіюйте "C: \ NewFolder \"

перемістити його:

1 fld.Move "C: \ NewFolder \"

видалити його:

1 fld.Видалити

або створіть у ньому новий текстовий файл:

1 fld.CreateTextFile “NewTextFile.txt”

За допомогою цього методу ви отримуєте доступ до властивостей папки, таких як її атрибути (fld.Attributes), дата та час її створення (fld.DateCreated), останній доступ (fld.DateLastAccessed), остання зміна (fld.DateLastModified ), букву його диска (fld.Drive), його ім'я та коротке ім'я (fld.Name, fld.ShortName), його шлях та короткий шлях (fld.Path, fld.ShortPath), його розмір (fld.Size), його введіть (fld.Type), його батьківську папку (fld.ParentFolder), перевірте, чи це коренева папка (fld.IsRootFolder), чи можна перебирати, підраховувати тощо її файли (fld.Files) або підпапки (fld. Вкладені папки).

Поєднавши все це в процедуру, буде виглядати так:

123456789101112131415161718192021222324 Sub FSOGetFolder ()Затемнити FSO як новий FileSystemObjectВстановити FSO = CreateObject ("Scripting.FileSystemObject")Встановити fld = FSO.GetFolder ("C: \ Src \")Debug.Print fld.DateCreatedDebug.Print fld.DriveDebug.Print fld.NameDebug.Print fld.ParentFolderDebug.Print fld.PathDebug.Print fld.ShortPathDebug.Print fld.SizeDebug.Print fld.Files.CountDebug.Print fld.TypeДля кожного згину В fld.SubFoldersНалагодження. Друк складок. Ім'яНаступний згинДля кожного fil In fld.FilesDebug.Print fil.NameНаступна філEnd Sub

Зверніть увагу, що ви повинні натиснути Ctrl+G, щоб побачити результат команди Debug.Print у безпосередньому вікні VBA.

Метод GetParentFolderName

Крім того, вищезгаданим способом, ви можете отримати доступ до назви батьківської папки за допомогою цього коду:

1234 Затемнити FSO як новий FileSystemObjectВстановити FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \")

У цьому випадку ParentFold буде "C: \ ParentTest \".

Зверніть увагу, що цей метод не вирішує шлях і не перевіряє наявність зазначеного шляху.

Метод GetSpecialFolder

За допомогою методу GetSpecialFolder, передавши аргументи 0, 1 або 2, ви можете отримати шлях до папки Windows (з файлами, встановленими операційною системою Windows), шлях до системної папки (з бібліотеками, шрифтами та драйверами пристроїв) та тимчасовий шлях до папки (папка, яка використовується для зберігання тимчасових файлів) відповідно.

1234567 Sub FSOGetSpecialFolder ()Затемнити FSO як новий FileSystemObjectВстановити FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) "Результатом може бути: C: \ Windows \ System32End Sub

Метод GetFile

Ви можете використовувати метод GetFile дуже подібно до методу GetFolder. Після вказівки на файл, до якого ви хочете отримати доступ

1 Встановіть fil = FSO.GetFile ("C: \ Src \ Test.xlsx")

Ви можете скопіювати його:

1 fil.Copy "C: \ Dst \"

перемістити його:

1 fil.Move "C: \ Dst \"

видалити його:

1 fil.Delete

або відкрийте його як об’єкт TextStream:

1 fil.OpenAsTextStream

Доступ до таких властивостей файлу, як атрибути, дата та час його створення, останній доступ або остання зміна, буква, ім’я та коротке ім’я, шлях та короткий шлях, розмір, тип та його батьківська папка як описано в методі GetFolder.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave