VBA GetFolder e GetFile (ottieni proprietà di file e cartelle)

Questa esercitazione dimostrerà come utilizzare i metodi GetFolder e GetFile di FileSystemObject.

Ottieni proprietà di cartelle e file con VBA FileSystemObject

Il metodo GetFolder restituisce un oggetto Folder corrispondente alla cartella in un percorso specificato e consente di accedere alle sue proprietà. Il metodo GetFile fa lo stesso con il file specificato.

Imposta riferimento VBA

Innanzitutto, quando si utilizza FileSystemObjects, potrebbe essere necessario impostare un riferimento alla libreria runtime di script VB: aprire l'editor di Visual Basic (ALT+F11), selezionare Strumenti > Riferimenti dal menu a discesa e spuntare la casella di 'Runtime di script Microsoft'.

FileSystemOggetto

In secondo luogo, è necessario creare il FileSystemObject:

12 Dim FSO come nuovo oggetto FileSystemImposta FSO = CreateObject("Scripting.FileSystemObject")

Ora hai accesso a GetFolder e agli altri metodi FileSystemObject.

Utilizzo del metodo GetFolder

Dopo aver specificato la cartella a cui si desidera accedere

1 Imposta fld = FSO.GetFolder("C:\Src\")

puoi copiarlo:

1 fld.Copia "C:\NuovaCartella\"

spostalo:

1 fld.Sposta "C:\NuovaCartella\"

Cancellalo:

1 fld.Elimina

o crea un nuovo file di testo al suo interno:

1 fld.CreateTextFile “NuovoFileTesto.txt"

Usando questo metodo, puoi accedere alle proprietà della cartella come i suoi attributi (fld.Attributes), la data e l'ora in cui è stata creata (fld.DateCreated), l'ultimo accesso (fld.DateLastAccessed), l'ultima modifica (fld.DateLastModified ), la lettera dell'unità (fld.Drive), il nome e il nome breve (fld.Name, fld.ShortName), il percorso e il percorso breve (fld.Path, fld.ShortPath), la dimensione (fld.Size), la type (fld.Type), la sua cartella principale (fld.ParentFolder), controlla se si tratta di una cartella radice (fld.IsRootFolder) o puoi scorrere, contare, ecc. i suoi file (fld.Files) o le sottocartelle (fld. Sottocartelle).

Mettere tutto insieme in una procedura sarebbe simile a questo:

123456789101112131415161718192021222324 Sub FSOGetFolder()Dim FSO come nuovo oggetto FileSystemImposta FSO = CreateObject("Scripting.FileSystemObject")Imposta 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.TypePer ogni piega in fld.SubFoldersDebug.Stampa piega.Nomepiega successivaPer ogni file In fld.FilesDebug.Print fil.NameFile successivoFine sottotitolo

Nota che dovrai premere Ctrl+G per vedere il risultato del comando Debug.Print nella finestra immediata di VBA.

Metodo GetParentFolderName

In alternativa al modo sopra menzionato, puoi accedere al nome della cartella principale di una cartella utilizzando questo codice:

1234 Dim FSO come nuovo oggetto FileSystemImposta FSO = CreateObject("Scripting.FileSystemObject")ParentFold= FSO.GetParentFolderName("C:\ParentTest\Test\")

ParentFold sarà in questo caso "C:\ParentTest\".

Si noti che questo metodo non risolverà il percorso, né verificherà l'esistenza del percorso specificato.

Metodo GetSpecialFolder

Con il metodo GetSpecialFolder, passando 0, 1 o 2 come argomento, puoi ottenere il percorso della cartella Windows (con i file installati dal sistema operativo Windows), il percorso della cartella di sistema (con librerie, caratteri e driver di dispositivo) e temporanei percorso della cartella (la cartella utilizzata per memorizzare i file temporanei), rispettivamente.

1234567 Sub FSOGetSpecialFolder()Dim FSO come nuovo oggetto FileSystemImposta FSO = CreateObject("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder(0) 'Il risultato può essere: C:\Windows\System32Fine sottotitolo

Metodo GetFile

È possibile utilizzare il metodo GetFile in modo molto simile al metodo GetFolder. Dopo aver specificato il file a cui si desidera accedere

1 Imposta fil = FSO.GetFile("C:\Src\Test.xlsx")

puoi copiarlo:

1 fil.Copia "C:\Dst\"

spostalo:

1 fil.Sposta "C:\Dst\"

Cancellalo:

1 fil.Elimina

o aprilo come oggetto TextStream:

1 fil.OpenAsTextStream

Le proprietà del file come i suoi attributi, la data e l'ora in cui è stato creato, l'ultimo accesso o l'ultima modifica, la lettera dell'unità, il nome e il nome breve, il percorso e il percorso breve, le dimensioni, il tipo e la cartella principale sono accessibili allo stesso modo come descritto nel metodo GetFolder.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave