Condividi:        

macro per ricerca file in cartella

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

macro per ricerca file in cartella

Postdi h224g » 29/10/12 22:09

Salve a tutti,

rieccomi dopo un po' di tempo ancora in richiesta del vostro aiuto.
In un file excel ho catalogato una lista di MACCHINE ognugna delle quali ha i suoi campi CLIENTE, INDIRIZZO, NUMERO DI SERIE, NUMERO DI INVENTARIO, GARANZIA, CONTRATTO.
Ad ognuna di queste macchine sono riferiti dei documenti in formato PDF vettoriali che riguardano COLLAUDO, CONTRATTO, ANAGRAFICA, INTERVENTI.
Vorrei poter effettuare una ricerca del documento pdf interessato, attraverso una macro inserita in un secondo foglio dello stesso file excel.
Nel campo di ricerca dovrei poter inserire solo 2 parametri: il NUMERO DI SERIE e il NUMERO DI INVENTARIO, solo che mentre il primo si trova nel nome del file pdf, il secondo si trova editato all'interno dello stesso file.
La ricerca con la macro andrà svolta da più computer con diversi s.o. (xp, seven, apple) in una cartella condivisa su server.
Attualmente eseguo la ricerca con la funzione cerca di windows.

Come posso fare?
grazie
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Sponsor
 

Re: macro per ricerca file in cartella

Postdi Anthony47 » 30/10/12 00:00

Bentornato.
Ma tu da qualche parte hai il nome dei vari file pdf che appartengono, per ognuna delle categorie che hai elencato (COLLAUDO, CONTRATTO, ANAGRAFICA, INTERVENTI), alle singole MACCHINE?

E poi: ma Numero di Serie e Numero di Inventario non corrispondono obbligatoriamente allo stesso bene? Quindi che bisogno c' e' di porre ambedue i parametri nella ricerca?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per ricerca file in cartella

Postdi h224g » 31/10/12 23:50

Ciao Anthony,
è un piacere ritrovarti, rispondo alle tue domande:

si, servendomi della macro che mi hai confezionato tempo fa, ho catalogato tutti i documenti in formato PDF, li ho suddivisi in cartelle per COSTRUTTORE e DATA, e li ho nominati con preciso codice:

doc collaudo "COL_[NUMERO DI INVENTARIO]_[NUMERO DI SERIE]"
doc contratto "CON_[NUMERO DI INVENTARIO]_[NUMERO DI SERIE]"
doc intervento "RIT_[PROTOCOLLO INTERVENTO]_[NUMERO DI INVENTARIO]_[NUMERO DI SERIE]"

Numero di Serie e Numero di Inventario corrispondono obbligatoriamente allo stesso bene, ma mentre il numero di serie è marchiato sulla macchina, non cambia mai e ti rimanda solo ai dati della stessa, il numero di inventario viene assegnato da ufficio e rimanda sia ai dati della macchina sia hai dati del cliente e ubicazione, cosicché quando la macchina cambierà cliente o ubicazione avrà stesso num di serie uguale ma diverso num di inventario, e questo permette di accedere sia ai dati della macchina che allo storico dei clienti che hanno posseduto quella macchina. Questa è una precisa regola del costruttore, non posso modificarla.

Grazie mille
Ultima modifica di h224g su 31/10/12 23:56, modificato 2 volte in totale.
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi Flash30005 » 01/11/12 00:19

Non è un problema aprire tutti i file aventi lo stesso nome (Numero di serie) per poi controllare se esite il numero inventario al suo interno
se no chiuderlo altrimenti lo visualizza

ma per imbastire qualcosa dovrei avere almeno 4 o 5 file nei quali, almeno in uno, troviamo le condizioni ricercate

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro per ricerca file in cartella

Postdi Anthony47 » 01/11/12 01:29

Humm... non capisco perche' una volta avevi scritto che il Numero di Inventario "si trova editato all'interno dello stesso file" adesso invece lo dichiari parte del nome file.
Prendendo per buono il secondo messaggio, prova una macro come questa:
Codice: Seleziona tutto
Sub crossindex()
FoglioRep = "Foglio5"    '<<< Il foglio dove saranno elencati i risultati
Perc = "C:\Users\UTENTE\Documents\Subdir\"   '<<< Il Path in cui cercare
Sheets(FoglioRep).Select

Tipo = Range("A2")
Invent = Range("B2")
NSerie = Range("C2")

Range("D:D").ClearContents
myFFile = Dir(Perc & "*" & Invent & "*" & NSerie & "*")
Do
If myFFile = "" Then Exit Do
If UCase(Left(myFFile, Len(Tipo))) = UCase(Tipo) Then
    If Right(myFFile, 4) = ".pdf" Then _
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(Rows.Count, "D").End(xlUp).Offset(1, 0), _
            Address:=Perc & myFFile, TextToDisplay:=myFFile
End If
myFFile = Dir
Loop
End Sub

Personalizza le istruzioni marcate <<<
Presuppone che in foglio di riepilogo in A2, B2 e C2 siano scritti rispettivamente il tipo di documento (es COL, CON, RIT), il Numero di inventario e il Numero di Serie da cercare, con relative intestazioni in Riga1.

Lanciando la macro, la colonna dei risultati sara' azzerata e poi verra' creato un elenco dei file che corrispondono alla ricerca impostata con relativo hyperlink al file.
Ad esempio come in figura (i valori di ricerca sono quelli usati per il mio test)
Immagine

Uploaded with ImageShack.us

Prova e fai sapere; in caso di esito negativo tieni presente quanto detto sopra da Flash.
Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per ricerca file in cartella

Postdi h224g » 05/11/12 20:08

Errore mio, mi sono spiegato male: alcuni tipi di file pdf, come ad esempio quelli di DETTAGLI del bene/macchina, sono delle stampe da file word o da pagine web, quindi all'interno includono altri codici che possono essere oggetto di ricerca, quindi in questo caso la ricerca avvenga non sul nome, ma sul testo contenuto all'interno del documento, come la ricerca di windows "una parola o una frase all'interno del file"

Ho seguito tue istruzioni:

mi da "ERRORE DI RUN-TIME '9': INDICE NON INCLUSO NELL'INTERVALLO"

e mi evidenzia in giallo la 4° riga
Sheets(FoglioRep).Select

i dati TIPO, N°INV e N°SERIE vanno inseriti tutti obbligatoriamente?
i preferirei di no, in modo che da un solo dato a disposizione si possano ricavare, tramite questa macro, gli altri.


Scusa Flash ma non ho capito la tua domanda, puoi spiegarmi meglio?
grazie
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi Flash30005 » 05/11/12 23:05

La mia, non era una domanda ma una conferma che sarebbe possibile aprire (tramite macro) tutti i file, in cartelle e sottocartente, aventi come nome il nome da ricercare,
verificare che in una determinata cella esista ciò che cerchi
in caso negativo, richiude il file
in caso positivo fa quello che ci siamo prefissati che si debba fare.
Ma... senza dei campioni non è possibile realizzare nulla.

Per quanto riguarda l'errore che ti fornisce la macro di Anthony
devi verificare se il foglio che hai definito nella variabile FoglioRep esista
Codice: Seleziona tutto
FoglioRep = "Foglio5"    '<<< Il foglio dove saranno elencati i risultati


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro per ricerca file in cartella

Postdi h224g » 06/11/12 03:46

ho corretto il nome del foglio, adesso la macro viene eseguita correttamente, ma non dà alcun risultato, qualunque dato di ricerca inserisca
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi Anthony47 » 06/11/12 12:56

Ma hai "personalizzato" anche l' altra istruzione marcata <<<?
Poi vorrei sapere quale Office usi; vedi qui: viewtopic.php?f=26&t=97449

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per ricerca file in cartella

Postdi h224g » 07/11/12 00:14

fatto

Win Xp + office 2003 ita

però mi servirebbe che funzionasse anche su seven e iOS, è possibile?
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi h224g » 07/11/12 00:45

dimenticavo, si, ho personalizzato le tue 2 indicazioni

FoglioRep = "Foglio5" '<<< Il foglio dove saranno elencati i risultati
Perc = "C:\Users\UTENTE\Documents\Subdir\" '<<< Il Path in cui cercare

non capisco dove sbaglio
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi Anthony47 » 07/11/12 02:48

La macro gestisce tre tipi di stringhe di ricerca:
-Tipo: un eventuale stringa qui posizionata sara' cercata IN TESTA al nome file
-N° Inv: un eventuale stringa qui posizionata sara' cercata in qualsiasi posizione del nome file
-N° Serie: come N° Inv
Inoltre N° Inv e N°Serie non devono avere "sovrapposizioni"; considera ad esempio un nome file del tipo ABCD_EFGHI_JKLMNOP.pdf
Se imposti N°Inv =GHI e N°Serie=_JKLM il file verra' identificato
Se imposti N°Inv =GHI_ e N°Serie=_JKLM il file NON verra' identificato perche' il carattere "_" compare in ambedue le ricerche.
Questa situazione non esiste con Tipo, che pero' corrisponde se la stringa e' in testa al nome file; quindi sara' trovata, nell' esempio, se imposti Tipo=A, oppure AB, o ABC etc ma non se lo imposti mettiamo BCD.

Controlla quindi come imposti questi criteri; poi eventualmente riportami un esempio di criteri impostati e nome file che non viene rilevato.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per ricerca file in cartella

Postdi h224g » 07/11/12 03:42

non capisco che errore commetto
Non è meglio se ti invio il file?
ho fatto un upload qui:

http://www.ge.tt/8QSt47R/v/0?c

la cartella in cui ricercare, che per comodità ho chiamato 'PROVA' e l'ho salvata in C:\, contiene al suo interno i seguenti pdf così nominati:

COL_B5190965_VE94004
COL_B5190966_190
COL_B5190967_SD712266
COL_B5726401_P1483
CON_A5454601_32374-26675
CON_F5810588_08F653B0
DET_G5726401_P1692

grazie
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi Anthony47 » 07/11/12 08:38

Devi usare:
Perc = "C:\Users\UTENTE\Documents\Subdir\" '<<< Il Path in cui cercare

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per ricerca file in cartella

Postdi h224g » 07/11/12 17:57

cioè se io lascio la cartella in C:\ devo usare "C:\Users\UTENTE\Documents\Subdir\" ?

sotto C:\ non c'è nessuna cartella Users...
ok, impazzisco.
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi Anthony47 » 07/11/12 18:00

Devi notare uno \ grande e grosso che manca in fondo alla stringa.
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per ricerca file in cartella

Postdi h224g » 07/11/12 18:32

h224g ha scritto:cioè se io lascio la cartella in C:\ devo usare "C:\Users\UTENTE\Documents\Subdir\" ?

sotto C:\ non c'è nessuna cartella Users...
ok, impazzisco.


FUNZIONA!

e se come volessi eseguire una ricerca di una parola chiave o codice contenuta/o all'interno del file?
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi Anthony47 » 08/11/12 15:35

Personalmente non ho esperienza di estrazione dati da file pdf, quindi al momento non so come aiutare.
Sto' facendo esperimenti con un javascript, nel caso ottenga qualche risultato lo pubblichero'.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro per ricerca file in cartella

Postdi h224g » 08/11/12 20:12

Anthony47 ha scritto:Personalmente non ho esperienza di estrazione dati da file pdf, quindi al momento non so come aiutare.
Sto' facendo esperimenti con un javascript, nel caso ottenga qualche risultato lo pubblichero'.

Ciao


ah, pensavo fosse lo stesso tipo di ricerca solo che includeva l'opzione "cerca anche all'interno del contenuto del file" come la ricerca di windows.
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06

Re: macro per ricerca file in cartella

Postdi h224g » 09/11/12 10:37

cmq già così va benissimo.
grazie mille per la disponibilità ed efficienza.

saluti
Win Xp + office 2003 ita
h224g
Utente Junior
 
Post: 21
Iscritto il: 18/02/12 02:06


Torna a Applicazioni Office Windows


Topic correlati a "macro per ricerca file in cartella":


Chi c’è in linea

Visitano il forum: Nessuno e 58 ospiti