Condividi tramite

estrarre il nome file

Anonimo
2012-02-06T12:03:33+00:00

salve a tutti!

in una cella ho il percorso completo di un file come posso estrarre solo il suo nome senza il percorso (prima) e l'estensione finale (dopo)

buon lavoro

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
  1. Anonimo
    2012-02-06T13:28:07+00:00

    salve a tutti!

    in una cella ho il percorso completo di un file come posso estrarre solo il suo nome senza il percorso (prima) e l'estensione finale (dopo)

    buon lavoro

    Un modo senza usare il vb per avere il nome del file :

    =SINISTRA(STRINGA.ESTRAI(CELLA("nomefile");RICERCA("[";CELLA("nomefile"))+1;RICERCA("]";CELLA("nomefile"))-RICERCA("[";CELLA("nomefile"))-1);RICERCA(".";STRINGA.ESTRAI(CELLA("nomefile");RICERCA("[";CELLA("nomefile"))+1;RICERCA("]";CELLA("nomefile"))-RICERCA("[";CELLA("nomefile"))-1))-1)

    Il file deve essere salvato.

    Vedi anche:

    http://office.microsoft.com/it-it/excel-help/inserimento-del-nome-del-file-di-excel-corrente-in-una-cella-HA001034627.aspx

    Altrimenti, se hai il nome del file in una cella e vuoi reecuperare solo il nome senza estensione., una alternativa al codice di David:

    Public Function fTrova(ByVal v As Variant) As String

        Dim s() As String

        s = Split(v, "")

        fTrova = Split(s(UBound(s)), ".")(0)

    End Function:

    6 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento
Risposta accettata dall'autore della domanda
  1. Anonimo
    2012-02-06T13:24:49+00:00

    Ciao MauroAP

    all'interno dell'editor VBA crea un nuovo modulo e incolla la seguente funzione:


    Public Function fTrova(ByVal strPath As String) As String

        Dim intStart As Integer

        Dim intEnd As Integer

        intStart = InStrRev(strPath, "") + 1

        intEnd = InStrRev(strPath, ".")

        fTrova = Mid(strPath, intStart, intEnd - intStart)

    End Function


    Ipotizzando che la cella contenente il percorso al tuo file sia la A1, in B1 scrivi:

    =fTrova(A1)

    David

    0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-02-06T14:05:27+00:00

    Public Function fTrova(ByVal v As Variant) As String

     

        Dim s() As String

        s = Split(v, "")

        fTrova = Split(s(UBound(s)), ".")(0)

       

    End Function

    di rara eleganza ... come sempre!!!

    i miei complimenti

    David

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2012-02-06T14:08:37+00:00

    PROPRIO ORA HO VISTO ANCHE LA FUNZIONE SPLIT!!!

    STUDIERO!!!! ANCHE QUESTA!

    0 commenti Nessun commento
  3. Anonimo
    2012-02-06T14:05:06+00:00

    Grazie David !

    Rimgrazio anche Mauro !

    Preferisco questa da Vb ..... che ho adattato alle mie esigenze!

    StrPath lo avevo gia come valore variabile all'interno di un ciclo che chiede all'utente di selezionare dei file-

    NomeFileIntStart = InStrRev(FileSelezionato, "") + 1

    NomeFileIntEnd = InStrRev(FileSelezionato, ".")

    SoloNomeFile = Mid(FileSelezionato, NomeFileIntStart, NomeFileIntEnd - NomeFileIntStart)

    Cells(iRow, Ncol) = SoloNomeFile

    Funziona!!

    GraZIE MOLTISSIMO!!!! A TUTTI E DUE!

    0 commenti Nessun commento