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

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:

La risposta è stata utile?

6 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

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

La risposta è stata utile?

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

    La risposta è stata utile?

    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!

    La risposta è stata utile?

    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!

    La risposta è stata utile?

    0 commenti Nessun commento