Estrazione nome del file e il nome della cartella dal percorso file utilizzando VBA in Microsoft Excel
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 prende il percorso del file come input. Il secondo parametro prende 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 c’è 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.
Segui sotto per il codice
Function FileOrFolderName(InputString As String, _ ReturnFileName As Boolean) As String 'Returns the foldername or the filename based on boolean value assigned Dim i As Integer, FolderName As String, FileName As String i = 0 'Code used for finding the position of last occurence of path separator While InStr(i + 1, InputString, Application.PathSeparator) > 0 i = InStr(i + 1, InputString, Application.PathSeparator) Wend 'Extract the folder path 'If No occurence of path separator is found then assign the default directory path If i = 0 Then FolderName = CurDir Else FolderName = Left(InputString, i - 1) End If 'Extracting the file name FileName = Right(InputString, Len(InputString) - i) 'Returning the folder or file name from function based on ReturnFileName parameter If ReturnFileName Then FileOrFolderName = FileName Else FileOrFolderName = FolderName End If End Function
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.
Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]