Newsgroup: it.comp.appl.access
Titolo: Query cerca testo in Word

E' possibile creare una query che ricera all'interno di un file word un
testo standard tipo una data ?
Devo essere più chiaro, ho la necessità di ricercare un testo standard in:
una directory tipo:
C:\Documenti\Testi\*.doc
cioe io inserendo un parametro come la data, la queri mi tira fuori tutti
quei file .doc che contengono quella data.
E' possibile ?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 E' possibile ?
Guarda su 
www.sitocomune.com
 come scandire una directory e poi applichi i
filtri che vuoi
MAssimiliano

 MAssimiliano


 ha scritto nel messaggio
news:bv88cq$uao$1...@news.newsland.it...

Con questa funzione, che dovrai adattare, potresti riuscire nel tuo intento.
Fai la prova con un file esistente:
Public Function DimmiSistemaFile()
Dim FileObj, Dato1, Dato2
  Set FileObj = CreateObject("Scripting.FileSystemObject")
  Set Dato1 = FileObj.GetFile("c:\windows\prova.txt")
  Dato2 = UCase("c:\windows\Prova.txt") & vbCrLf
  Dato2 = Dato2 & "Data di creazione: " & Dato1.DateCreated & vbCrLf
  Dato2 = Dato2 & "Ultimo accesso: " & Dato1.DateLastAccessed & vbCrLf
  Dato2 = Dato2 & "Ultima modifica: " & Dato1.DateLastModified & vbCrLf
  Dato2 = Dato2 & "Dimensione: " & Dato1.Size & vbCrLf
MsgBox Dato2
End Function
Ciao, Carlo

 Ciao, Carlo
Forse non sono stato chiaro, cerco di spiegarmi meglio:
Ho un certo numero di file Word, 
ciascuno di questi file hanno nel loro interno (oltre al resto del testo),
la scritta :
Data di presentazione: __/__/____ 
(chiaramente è ovvio che è riportata una data tipo 28/01/2004, per
generalizzare lo scritta così __/__/____)
Io ho già un mio DB, e qui dentro voglio creare una query parametrica che
in funzione del parametro che 
ci scrivo, che nel mio caso specifico è una data  __/__/____ (cioè quello
che ho scritto prima), deve leggere 
tutti i file  .doc   della directory (e subdirectory):
C:\Documenti\Testi
Filtrati per tale parametro.
Es. se nel parametro inserisco 31/12/2003, mi deve cercare tutti quei file
doc che al loro interno  possiedono 
il testo 31/12/2003.
Ciao, by Salvatore grazie (fatemi sapere).


 > MAssimiliano
Forse non sono stato chiaro, cerco di spiegarmi meglio:
Ho un certo numero di file Word, 
ciascuno di questi file hanno nel loro interno (oltre al resto del testo),
la scritta :
Data di presentazione: __/__/____ 
(chiaramente è ovvio che è riportata una data tipo 28/01/2004, per
generalizzare lo scritta così __/__/____)
Io ho già un mio DB, e qui dentro voglio creare una query parametrica che
in funzione del parametro che 
ci scrivo, che nel mio caso specifico è una data  __/__/____ (cioè quello
che ho scritto prima), deve leggere 
tutti i file  .doc   della directory (e subdirectory):
C:\Documenti\Testi
Filtrati per tale parametro.
Es. se nel parametro inserisco 31/12/2003, mi deve cercare tutti quei file
doc che al loro interno  possiedono 
il testo 31/12/2003.
Ciao by Savatore, grazie (fatemi sapere).


 --
Devi utilizzare la proprietà FileSearch (vedi help);
es. acc'97
'-----
Dim i As Integer
With FileSearch
    .NewSearch
    .LookIn = "c:\"
    .SearchSubFolders = False
    .TextOrProperty = "pippo"
    .MatchTextExactly = True
'trova solo doc
    .FileType = msoFileTypeWordDocuments
    If .Execute() > 0 Then
        MsgBox "Trovati " & .FoundFiles.Count & " file"
 'visualizza i nomi trovati
        For i = 1 To .FoundFiles.Count
            MsgBox .FoundFiles(i)
        Next i
    Else
        MsgBox "Nessun file trovato"
    End If
End With
'-----
Ciao.
--
Sergio MAZZA

Sergio MAZZA ha scritto:

In aggiunta al suggerimento di Sergio (sempre ottimo) ti consiglio di 
guardarti anche sul sito comune la FAQ "utilizzo della ricorsione per 
scandire una directory" mediante la quale, indicata la Dir ti estrarrai 
tutti i file .doc su cui effettuare la ricerca.
Io personalmente la uso per ciclare una dir mettendo tutti i files che 
trova in una tabella da cui poi scarto tutti quelli i cui ultimi 4 
caratteri NON sono ".rtf". Potresti fare lo stesso ciclando poi la 
routine di Sergio per ogni campo della tabella ottenuta.
Ps. Ricordati di abilitare i riferimenti a Word e di rilasciare sempre 
gli oggetti che Word è abbastanza permaloso.
Ciao
Marco
pisani.marco(LEVAMI)@
tiscali.it

 pisani.marco(LEVAMI)@
tiscali.it
Marco, se ho capito bene sly cercava dei documenti contenenti una certa
parola/frase; la tecnica che proponevi cerca solo i nomi dei file e non nel
loro contenuto.
Per quanto riguarda i riferimenti non dovrebbero esserci problemi, come hai
notato, non ho dichiarato nessun oggetto Word perché l'oggetto FileSearch fa
parte delle librerie di Office già disponibili nei riferimenti (almeno nei
miei)...
Ciao.
--
Sergio MAZZA

 
Sulla libreria hai ragione. Mia imperdonabile svista. Chiedo venia.
Il problema di sly è simile ad uno che ho dovuto affrontare io nel senso 
che io dovevo ricercare TUTTI i file .rft presenti in una cartella per 
poi importarne il contenuto aprendone uno ad uno. Perciò ho seguito quel 
metodo che ho consigliato anche a Sly che consiste nel ciclare la 
directory per trovare i .doc, inserirli in una Temp e poi aprirli uno ad 
uno per verificare la presenza della data.
Rivedendo la tua soluzione direi che è senza dubbio più lineare e che 
forse sarebbe utile anche a me facendomi risparmiare di ciclare due 
volte la directory, una per cercare tutti gli Rtf e l'altra per aprirli 
ed estrane i dati.
Ciao
Marco
pisani.marco(LEVAMI)@
tiscali.it