Newsgroup: it.comp.appl.access
Titolo: esportazione dati documento word da campo ole a file

Ciao a tutti,
mi trovo costretto a chiedere aiuto riguardo questo problema:
in un database ho una tabella in cui vi è un campo OLE dove nei
singoli record è quasi sempre inserito un documento Word.
Siccome devo ristrutturare profondamente il database, vorrei da questo
campo creare i singoli file word in modo da avere nella tabella solo
la path dei file.
Ho usato  la funzione getBlobAdo pubblicata sul sito comune al numero
5.10 (Pietro Bonaventi); i file si creano correttamente ma quando
cerco di aprirli Word mi chiede regolarmente quale codifica del testo
usare (la finestrella con le opzioni Windows predefinita, ms-dos,
altra codifica con scelta da elenco). Qualunque codifica scelgo il
file si apre con la tipica sequenza dei caratteri
NONC'HOCAPITONAMAZZA.
Se apro il file cliccando doppio sul campo OLE il file si apre
correttamente in Word quindi i dati nel campo OLE sono inseriti
correttamente.
Se creo una tabella con un campo OLE e si inserisco un documento Word
appena creato, questo dal campo OLE si apre correttamente, se uso la
funzione suddetta di esportazione in un nuovo file mi chiede quale
codifica di testo usare.
Ho fatto una infinita di ricerche in rete ma si parla sempre di
esportazione generica (quasi sempre con riferimento ad immagini) e mai
di esportazione di file Word.
Qualche suggerimento ?
AleC

 ha scritto nel messaggio 
news:67ea8573-f8ce-4b78...@t54g2000hsg.googlegroups.com...

Qualche suggerimento ?
AleC
[risposta]
Mhhh.
Io farei così:
il concetto: aprire il documento e salvarlo con nome;
crea una maschera a partire dalla tabella e inserisci un pulsante al cui 
click corrisponde questo codice:
Dim NewDoc As String, DocPath As String
DocPath = "c:\MioDocumento.doc"
With Me.NomeControlloOLE
.Class = "Word.Document"
.Verb = acOLEVerbOpen
.Action = acOLEActivate
.Object.Application.Documents.Item(1).SaveAs DocPath
.Object.Application.Quit
.Action = acOLEClose
End With
Per automatizzare il nome del doc dovrai prevedere una funzione, così per 
scorrere i vari record nella maschera.
Allo stesso modo dovrai prevedere la possibilità di scrivere il nome dato al 
nuovo documento in un campo della tabella (path).
Fai la prova con un documento...
Ciao, Carlo 

 ha scritto nel messaggio 
news:67ea8573-f8ce-4b78...@t54g2000hsg.googlegroups.com...

Qualche suggerimento ?
AleC
[risposta]
Prova anche con questo esempio:
ACC: Reading, Storing, & Writing Binary Large Objects (BLOBs)
http://support.microsoft.com/kb/103257/EN-US/
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Purtroppo questo metodo (WriteBLOB) restituisce lo stesso problema: i 
caratteri sono illegibili.
Hai fatto buone vacanze?
Ciao, Carlo 

 Ciao, Carlo
Ciao.
-- 
Sergio MAZZA 


Come sopra...circa una settimana, 7 bagni e al servizio dei figli.
Un abbraccio,Carlo 

 Un abbraccio,Carlo
Ciao.
-- 
Sergio MAZZA 


Forse sì ma si dovrà prevedere diverse cosette; prima di tutto aprire word 
in modalità non visibile, stabilire una routine per i nomi da assegnare ai 
nuovi doc, scrivere i nuovi nomi in un campo della tabella.
Non sarà così semplice e poi non so per quante volte si potra aprire word in 
automazione.
Ciao, Carlo 


Sě, 7 bagni e una ventina di docce; due paia di ciabatte andate (entrambe 
usate) e tre angurie fatte fuori con tutti i semi (beh non proprio 
tutti...).
Ciao, Carlo 

 in automazione.
Chissà; forse aprendo prima una istanza di word tramite OLE, access potrebbe 
utilizzare quella...


 - Mostra testo citato -
Il codice proposto da Sergio Mazza come fatto poi notare da Carlo
Costarella produce sempre una volta aperti files illeggibili mentre il
codice di quest'ultimo funziona egregiamente.
Grazie mille. Se mi ero accorto che vi eravate accomodati così bene
nel mio thread-salotto per scambiarvi le notizie sulle reciproche
vacanze vi facevo servire qualcosa da bere......  :D
Ciao
AleC

 ha scritto
cut
Qualche suggerimento ?
[risposta]
credo di aver trovato la soluzione definitiva...ancora una volta il buon 
Lebans:
http://www.lebans.com/oletodisk.htm
il link per scaricare l'esempio:
http://www.lebans.com/DownloadFiles/ExtractInventoryOLEver75.zip
Funziona alla grande a anche da un secondo db.
Si inserisce il nome del db, la tabella che interessa e il campo ole; si 
specifica quale campo contiene il nuovo nome da dare ai file salvati e 
infine il percorso di salvataggio. Per il campo nuovoNomeFile basta un 
semplice campo di testo dove ci si può scrivere quello che si vuole, penserà 
la procedura ad aggiungere l'estensione adeguata.
Nella prove fatte ho aggiunto il nuovo campo e gli ho inserito dei numeri:
123
234
345
456
importante che non ci siano duplicati...nulla vieta di inserire
MioDoc1
MioDoc2
MioDoc3
...
Ciao, Carlo 

 ha scritto nel messaggio 
news:f133dc97-2cc3-44b6...@25g2000hsx.googlegroups.com...
Grazie mille. Se mi ero accorto che vi eravate accomodati cosě bene
nel mio thread-salotto per scambiarvi le notizie sulle reciproche
vacanze vi facevo servire qualcosa da bere......  :D
[risposta]
Sei sempre in tempo; per me una cedrata!
Ciao
AleC
[risposta]
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Garcon !!  una cedrata per il Sig. Mazza

 ha scritto

Poi la guardo, grazie mille....

 ha scritto
cut
Grazie mille. Se mi ero accorto che vi eravate accomodati cosě bene
nel mio thread-salotto per scambiarvi le notizie sulle reciproche
vacanze vi facevo servire qualcosa da bere......  :D
Ciao
AleC
A me un latte di mandorla, grazie.
Ciao, Carlo 

 Sei sempre in tempo; per me una cedrata!
dopo una "matriciana" al pomodoro?
forse meglio un amaro o un grappino!
:<)))
Ciao Daniele
ps. ma la cipolla c'era? 

 ps. ma la cipolla c'era?
Per fortuna no!
Ciao.
-- 
Sergio MAZZA 

 Ciao, Carlo
E sia. Mademoiselle, un latte di mandorla al sig. costarella, grazie.
^_^

 Ciao, Carlo
E sia. Mademoiselle, un latte di mandorla al sig. costarella, grazie.
^_^
Almeno hai tratto beneficio dagli intervernti?
Facci sapere.
Poi magari mi spieghi perchč hai chiamato una madamoiselle per me e un 
garcon per Sergio.
Si dev'essere sparsa la notizia...
Ciao, Carlo 

 Ciao, Carlo
Sì sì se rileggi ho ringraziato perché il codice che apre il contenuto
del blob tramite maschera funziona egregiamente, l'altro che è
similare a quello del sito comune invece produce la sequenza
illegibile.
Ho scritto Mademoiselle per mettere zizzania.
AleC

 Si dev'essere sparsa la notizia...
E io  che mi ero raccomandato a MAssimiliano di non dire niente a nessuno!
Abesso il prossimo CISA in stanza con me non ci verrà nessuno...
