VBA FileSystemObject (UST) - Come accedere a FileSystemObject?

FileSystemObject VBA di Excel (UST)

VBA FileSystemObject (FSO) funziona in modo simile a FileDialog, utilizzato per accedere ad altri file del computer su cui stiamo lavorando. Possiamo anche modificare questi file significa leggere o scrivere il file. Usando UST possiamo accedere ai file, lavorarci sopra, modificare file e cartelle. FSO è l'importante strumento API a cui possiamo accedere con VBA. Come parte del progetto VBA, potremmo aver bisogno di accedere ad alcune cartelle e file nel nostro computer per portare a termine il lavoro.

Possiamo eseguire molte attività utilizzando FSO come "per verificare se la cartella è disponibile o meno", creare una nuova cartella o file, rinominare la cartella oi file esistenti, ottenere l'elenco di tutti i file nella cartella e anche i nomi delle sottocartelle . Infine, possiamo copiare i file da una posizione a un'altra.

Anche se sono disponibili altre funzioni per lavorare con cartelle e file, FSO è il metodo più semplice per lavorare con cartelle e file mantenendo il codice VBA pulito e diretto.

Possiamo accedere a quattro tipi di oggetti con FileSystemObject. Di seguito sono quelli.

  1. Drive: utilizzando questo oggetto, possiamo verificare se l'unità menzionata esiste o meno. Possiamo ottenere il percorso, il tipo di scopo e le dimensioni dell'impresa.
  2. Cartella: questo oggetto ci consente di verificare se la cartella in particolare esiste o meno. Possiamo creare, eliminare, modificare, copiare cartelle utilizzando questo oggetto.
  3. File: questo oggetto ci consente di verificare se il file specifico esiste o meno. Possiamo creare, eliminare, modificare, copiare file utilizzando questo oggetto VBA.
  4. Text Stream: questo oggetto ci permette di creare o leggere file di testo.

Tutti i metodi di cui sopra hanno il loro metodo con cui lavorare. In base alle nostre esigenze, possiamo scegliere il metodo di ogni oggetto.

Come abilitare FileSystemObject?

Non è facilmente accessibile in VBA. Poiché l'accesso a file e cartelle è un'attività esterna di Excel, è necessario abilitare FileSystemObject. Per incoraggiare, segui i passaggi seguenti.

Passaggio 1: vai su Strumenti> Riferimenti.

Passaggio 2: selezionare l'opzione "Microsoft Scripting Runtime"

Scorri verso il basso e seleziona l'opzione "Microsoft Scripting Runtime". Dopo aver scelto le opzioni, fare clic su OK.

Ora possiamo accedere a FileSystemObject (FSO) in VBA.

Crea un'istanza di FileSystemObject

Una volta abilitata l'opzione "Microsoft Scripting Runtime" dalla libreria Oggetti, è necessario creare un oggetto File System (FSO) tramite la codifica.

Per creare l'istanza, prima dichiara la variabile come FileSystemObject.

Come possiamo vedere, FileSystemObject appare nell'elenco IntelliSense in VBA. Questo non sarebbe stato disponibile prima di abilitare "Microsoft Scripting Runtime".

Poiché FSO è un oggetto, dobbiamo impostarlo per creare una nuova istanza.

Ora possiamo accedere a tutte le opzioni di FSO (FileSystemObject).

Esempi per utilizzare VBA FileSystemObject

Esempio n. 1: trova lo spazio su disco totale

Il codice seguente fornirà lo spazio totale dell'unità.

Codice:

Sub FSO_Example1 () Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject Dim DriveName As Drive Dim DriveSpace As Double Set DriveName = MyFirstFSO.GetDrive ("C:") 'Crea nuovo oggetto drive DriveSpace = DriveName.FreeSpace' Questo otterrà lo spazio libero dell'unità "C" DriveSpace = DriveSpace / 1073741824 "Questo convertirà lo spazio libero in GB DriveSpace = Round (DriveSpace, 2)" Round the total space MsgBox "Drive" & DriveName & "has" & DriveSpace & "GB" End Sub

Ripartizione del codice.

Innanzitutto, abbiamo creato un'istanza di UST.

Dim MyFirstFSO As FileSystemObject Imposta MyFirstFSO = New FileSystemObject

Successivamente, abbiamo dichiarato due variabili.

Dim DriveName As Drive Dim DriveSpace As Double

Poiché DriveName è una variabile Object, dobbiamo impostarla su FSO uno dei metodi FSO. Poiché abbiamo bisogno delle caratteristiche dell'unità, abbiamo utilizzato l'opzione Ottieni unità e menzionato il nome dell'unità.

Imposta DriveName = MyFirstFSO.GetDrive ("C:")

Per un'altra variabile, DriveSpace, assegneremo il metodo dello spazio libero dell'unità a cui stiamo accedendo.

DriveSpace = DriveName.FreeSpace

A partire da ora, l'equazione di cui sopra può farci liberare spazio sull'unità "C." Quindi, per mostrare il risultato in GB, abbiamo diviso lo spazio aperto per 1073741824

DriveSpace = DriveSpace / 1073741824

Successivamente, arrotonderemo il numero.

DriveSpace = Round (DriveSpace, 2)

Infine, mostra il risultato in Message Box.

MsgBox "Drive" & DriveName & "has" & DriveSpace & "GB"

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

Esegui questo codice tramite il tasto di scelta rapida Excel F5 o manualmente, quindi guarda il risultato.

Esempio n. 3: controlla se il file esiste o meno

Il codice seguente verificherà se il file menzionato è disponibile o meno.

Codice:

Sub FSO_Example3 () Dim MyFirstFSO As FileSystemObject Set MyFirstFSO = New FileSystemObject If MyFirstFSO.FileExists ("D: Excel Files VBA VBA Files Testing File.xlsm") Then MsgBox "The Mentioned File is Available" Else MsgBox " Il file non è disponibile "End If End Sub

Esegui questo codice manualmente o utilizzando il tasto F5, quindi guarda il risultato.

Articoli interessanti...