Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

CERCA.VERT con riferimenti esterni a file esterni

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

CERCA.VERT con riferimenti esterni a file esterni

Postdi Ubuntus » 20/11/15 16:11

Ciao

volevo chiedere se esiste qualcosa del genere.

Se ho un file con in colonna A ( il file ha piu di 500 riferimenti diversi), ci sono nomi di ricette:
Pippo
pluto
caio
Zeno
rosso
blu

vorrei in colonna B fare una specie cerca vert ma che mi cerchi quei nomi se ci sono all interno di una cartella es "C:\ricette\pippo.txt ( se serve mettere il .txt al file excel lo aggiungo)

al momento li cerco a mano uno ad uno tramite il cerca di windows

viewtopic.php?t=100860

grazie
Ubuntus
Utente Junior
 
Post: 73
Iscritto il: 24/07/15 15:56

Sponsor
 

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi alfrimpa » 20/11/15 17:35

Ciao Ubuntus

Cosa intendi per "fare una specie cerca vert "

Il CERCA.VERT funziona anche sui file chiusi (sull'hard disk).

Una precisazione: ma il file in dove cercare è un file di Excel o txt?

Lo chiedo perché, ovviamente, il CERCA.VERT deve operare solo su file di Excel.

Nella speranza che abbia ben interpretato il tuo quesito.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi Ubuntus » 23/11/15 10:33

ciao

il file che devo cercare sono file txt, dovrei trovare se il file è presente o meno nella cartella...senza nessun controllo sul contenuto

Una specie cerca fatto da excel....servira una macro per cio ?
Ubuntus
Utente Junior
 
Post: 73
Iscritto il: 24/07/15 15:56

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi alfrimpa » 23/11/15 14:17

Ciao Ubuntus

La sottostante function (presa tra le tante disponibili in rete) restituisce VERO se il file passato come parametro è presente nella directory specificata.

Codice: Seleziona tutto
Function fileExists(s_directory As String, s_fileName As String) As Boolean
  Dim obj_fso As Object, obj_dir As Object, obj_file As Object
  Dim ret As Boolean
   Set obj_fso = CreateObject("Scripting.FileSystemObject")
   Set obj_dir = obj_fso.GetFolder(s_directory)
   ret = False
   For Each obj_file In obj_dir.Files
     If obj_fso.fileExists(s_directory & "\" & s_fileName) = True Then
        ret = True
        Exit For
      End If
   Next
   Set obj_fso = Nothing
   Set obj_dir = Nothing
   fileExists = ret
 End Function


Sul foglio di lavoro è sufficiente (supponendo che in A1, A2 etc ci siano i nomi dei file) che tu scriva:

=fileExists("TuaDirectory";a1)
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi Anthony47 » 23/11/15 15:14

Alfredo, cancella il sito da cui hai derivato quel codice da i tuoi preferiti; l' Oggetto FileSystemObject dispone infatti di un metodo FileExists che consente di ottenere direttamente il risultato voluto senza scansionare tutta la directory per capire se il file e' presente.
Codice: Seleziona tutto
Function FileExists1(ByVal myDir As String, myName As String) As Boolean
Dim FSo As Object
'myTim = Timer
If Right(myDir, 1) <> Application.PathSeparator Then myDir = myDir & Application.PathSeparator
'
Set FSo = CreateObject("Scripting.FileSystemObject")
If FSo.FileExists(myDir & myName) Then
    FileExists1 = True
Else
    FileExists1 = False
End If
'Debug.Print "§§§ " & Format(Timer - myTim, "0.000")
Set FSo = Nothing
End Function


L'uso rimane lo stesso; es
Codice: Seleziona tutto
=FileExists1($B$1;A2)


Ciao a tutti.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi alfrimpa » 23/11/15 15:21

Anthony grazie della precisazione/correzione.

Il sito non è tra i miei preferiti; ho solo fatto una banale ricerca con Google ed ho riportato il primo esempio che è venuto fuori.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi Ubuntus » 24/11/15 17:25

Grazie

due domande

=FileExists1($E$1;B2)

in E1 ho inserito F:\CL\clè\, ed i file da cercare hanno estensione .LFT

mi genera tutti Falsi, quando in realta ci sono
Ubuntus
Utente Junior
 
Post: 73
Iscritto il: 24/07/15 15:56

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi alfrimpa » 24/11/15 18:24

Ciao

In B1, B2 etc. devi inserire i nomi dei file completi di estensione.

Se vuoi l'elenco dei file alloea occorre una sub e non una function
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi Ubuntus » 25/11/15 15:52

In E1=F:\CL\clè\ 8 dove ho il file prova.lft)

in B2=prova.lft

In H ho inserito =FileExists1($E$1;b2) = falso ma dice che non lo trova, quando in realta c'è...perchè
Ubuntus
Utente Junior
 
Post: 73
Iscritto il: 24/07/15 15:56

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi alfrimpa » 25/11/15 16:37

Mah non so che dirti.

Io ho provato e funziona perfettamente.

Controlla che inserisci il nome della directory/file esattamente uguali a quelli effettivi.

Fai un'altra prova creando una nuova directory c:\prova\ mettici dentro un file e vedi se funziona
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi Ubuntus » 25/11/15 21:53

Perfetto grazie :) ... ora funziona molto bene, gia utilizzato per analizzare i miei 378 dati :D

sarebbe possibile modificarlo in :

- che mi trovi se quella stringa "casa" è contenuta nel nome del file....es "Casa verde.txt" mi dia vero ?
- che cerchi in piu sotto cartelle o directory diverse?

grazie
Ubuntus
Utente Junior
 
Post: 73
Iscritto il: 24/07/15 15:56

Re: CERCA.VERT con riferimenti esterni a file esterni

Postdi Anthony47 » 26/11/15 01:12

Allora bisogna cambiare Function:
Codice: Seleziona tutto
Function FileExists2(ByVal myDir As String, myName As String) As Boolean
'myTim = Timer
If Right(myDir, 1) <> Application.PathSeparator Then myDir = myDir & Application.PathSeparator
If Dir(myDir & myName) <> "" Then
    FileExists2 = True
Else
    FileExists2 = False
End If
'Debug.Print "*** " & Format(Timer - myTim, "0.00000000")
End Function

L'uso e' come la precedente:
Codice: Seleziona tutto
=FileExists2(Percorso;NomeFile)

Potrai pero' usare i caratteri jolly, o scritti nella cella di origine di NomeFile oppure concatenandoli negli attributi della formula; ad esempio:
Codice: Seleziona tutto
=FileExists2($E$1;A2&"*")
se A2 contiene "pippo" allora la formula restituira' Vero se sara' trovato nel Percorso indicato in E1 un file che comincia con pippo, esempio pippolo.doc, pippo2.xlsx etc

Per lavorare in piu' directory, immaginando che tu sai in quali directory bisogna cercare, il mio suggerimento e' che usi l'operatore O per ottenere la combinazione di piu' ricerche; es
Codice: Seleziona tutto
=O(FileExists2($E$1;A2&"*.xls?");FileExists2($C$1;A2&"*.xls?"))
Questa formula restituira' vero se sara' trovato nel percorso indicato in E1 oppure in C1 un file di tipo xls, o xlsx, o xlsm che comincia con la stringa indicata in A2.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "CERCA.VERT con riferimenti esterni a file esterni":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti