Estrazione del nome del file e del nome della cartella dal percorso del file utilizzando VBA in Microsoft Excel

Anonim

In questo articolo, abbiamo condiviso il codice VBA per scrivere una funzione personalizzata per estrarre il nome del file e il nome della cartella dal percorso del file.

I dati grezzi per questo esempio specificano il percorso completo di alcuni file.

Spiegazione logica

In questo esempio, abbiamo creato la funzione personalizzata VBA "FileOrFolderName" che restituisce il nome del file o della cartella come output.

La funzione "FileOrFolderName" accetta due parametri come input. Il primo parametro accetta il percorso del file come input. Il secondo parametro accetta il valore booleano come input, se vogliamo il nome del file come output, assegneremo il valore True a questo parametro e se vogliamo il nome della cartella come output, assegneremo il valore False a questo parametro.

Per separare il nome del file e il nome della cartella dal percorso del file, in primo luogo, troviamo la posizione dell'ultima occorrenza del separatore di percorso all'interno del percorso del file. Dopo l'ultima occorrenza del separatore di percorso, possiamo facilmente separare il nome del file e il nome della cartella come testo. Sul lato destro del separatore di percorso è il nome del file e il testo sul lato sinistro del separatore di percorso è il nome della cartella.

Se non esiste alcun separatore di percorso nel percorso del file, il percorso della directory predefinito viene specificato come nome della cartella.

Esecuzione della funzione personalizzata

Per utilizzare la funzione personalizzata definita, vai alla cella C14 e inserisci la funzione =FileOrFolderName(B14,FALSE) e nella cella D14, inserisci la funzione =FileOrFolderName(B14,TRUE), dove la cella B14 contiene il percorso del file.

La cella C14 darà il nome della cartella e la cella D14 darà il nome del file.

Si prega di seguire sotto per il codice

 Function FileOrFolderName(InputString As String, _ ReturnFileName As Boolean) As String 'Restituisce il nome della cartella o il nome del file in base al valore booleano assegnato Dim i As Integer, FolderName As String, FileName As String i = 0 'Codice utilizzato per trovare la posizione dell'ultimo occorrenza del separatore di percorso Mentre InStr(i + 1, InputString, Application.PathSeparator) > 0 i = InStr(i + 1, InputString, Application.PathSeparator) Wend 'Estrai il percorso della cartella 'Se non viene trovata alcuna occorrenza del separatore di percorso, assegna il percorso della directory predefinita If i = 0 Then FolderName = CurDir Else FolderName = Left(InputString, i - 1) End If 'Estrazione del nome del file FileName = Right(InputString, Len(InputString) - i) 'Restituzione della cartella o del nome del file dalla funzione basata sul parametro ReturnFileName If ReturnFileName Then FileOrFolderName = FileName Else FileOrFolderName = FolderName End If End Funzione 

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica