Newsgroup: it.comp.appl.access
Titolo: Importare intero contenuto file Word in campo memo

Il mio obiettivo é:
1 - esportare il contenuto di un campo memo in pippo.doc
2 - modificare da word il contenuto di pippo.doc
3 - reimportare nel campo memo il pippo.doc modificato
4 - svuotare il contenuto di pippo.doc
tutto questo ovviamente da Access.
Il file pippo.doc deve insomma svolgere la funzione di contenitore
provvisorio
Per le fasi 1 e due ci sono, ma non riesco a realizzare la fase 3-4
Chi mi può aiutare ?
Grazie

 ha scritto nel messaggio
news:AecI7.84530$sq5.4...@news.infostrada.it...

Io potrei aiutarti, ma dovresti soddisfare una mia curiosità; se modifichi,
a mano, il contenuto nel documento word potresti selezionare tutto il
contenuto, copiarlo/incollarlo nel campo della tabella di access...
O mi sfugge qualcosa?
Ciao.
--
- - - - - - - - - - - - - - -
Sergio MAZZA
- - - - - - - - - - - - - - -

 wrote in message
9stamu$51b$1...@canarie.caspur.it...

____________-
ma se invece lo modificasse direttamente nel campo Memo?
non è lo stesso?
ciao Riccardo


Difatti era quello che intendevo proporgli; ma volevo capire perché esporta
il testo in word, lo modifica e lo vuole re-importare in access...



Il problema è che il contenuto del campo memo è una verifica ispettiva dalle
dimensioni di circa 2 pagine. L'utente finale è abituato ad utilizzare Word
e non è disposto a rinunciare alle comodità di Word, non presenti in un
campo memo.

 campo memo.
Allora la soluzione migliore č quella di lasciare il documento esterno al
database e inserire nel campo il path + nome file del documento word.
Con un bottone gli puoi aprire il documento lasciando l'utente libero di
gestirsi i documenti come gli pare...
Ciao.


______________________________________________________
Domanda:
Ma se si volesse gestire direttamente word in una maschera di Access,
con le barre Word e poterlo modificare direttamente da Access, è possibile?
E come?
Un po come avviene per la maschera Internet in Access.
ciao e grazie
Riccardo


Risposta:
Ma perchč complicarsi la vita?
L'esperienza che ho avuto inserendo un oggetto OLE Word in una maschera
access non č stata delle migliori; o almeno non mi ha soddisfatto pienamente
visto che l'unico modo per interagire con il documento era il doppio clic,
che mi ha aperto il server OLE (word in questo caso) e il documento
associato e nulla piů; oltretutto avevo appesantito l'mdb con il campo
definito OLE.
Per me il gioco non vale la candela; preferisco memorizzarmi il path e il
nome documento e richiamare l'applicazione associata a quel documento,
lasciare il controllo all'utente, magari creandomi un modello (.dot) che non
permette di salvare il documento in altre directory da quella predefinita...
Ciao.


 wrote in message
9su17n$b86$1...@canarie.caspur.it...

_______________________
pensavo si potesse fare senza complicarsi la vita.
nun fa niente...
ciao Riccardo


Ecco, così mi vengono i rimorsi...



Avevo pensato a questa soluzione ma l'ho dovuta scartare in quanto il file
doc risulterebbe esterno al programma e quindi leggibile da altri.
Per questo avevo pensato ad un contenitore provvisorio di filetemp.doc con
copia incolla del suo contenuto nel campo memo e con possibilità di
riesportarlo in filetemp.doc per eventuali modifiche.
Avevo scartata anche l'ipotesi di inserire l'oggetto OLE Word nel file
Access per l'eccessiva pesantezza che ne sarebbe derivata.
In effetti quello che mi manca per l'automazione della procedura sono le
istruzioni per:
- taglia e incolla del contenuto del filetemp.doc nel controllo memo
e come collegare l'evento.
E' possibile programmare Word faccendo eseguire delle istruzioni all'evento
su chiusura ?
Massimo Lista

 Massimo Lista
Secondo me se non pianifichi bene le procedure da inserire (lato word e lato
access) ti incasini...



Forse non mi sono spiegato bene:
Il file pippo.doc é un documento unico e provvisorio che ha il solo scopo di
ottimizzare la scrittura di contenuti che rifluiranno nel campo memo; dopo
potrà essere utilizzato per altri contenuti.
In pratica con la seguente routine (che ad esempio può essere attivata con
un doppio click sul controllo memo) apro pippo.doc trasferendo eventuali
contenuti del controllo memo in pippo.doc:
On Error GoTo Err_ApreWord:
    Dim strTesto As String
    Dim varPercorso As Variant
    Dim intFlag As Integer, intAncora As Integer
    Dim docWord As Word.Document
    Dim rngCorrente As Word.Range
    Dim appWord As Object
    If IsNull(Me.AWord) Then
           intFlag = intFlag + 1
    End If
    Select Case intFlag
        Case 1
        MsgBox "Non c'è un testo da salvare.", vbExclamation
        Me.AWord.SetFocus
        Exit Sub
        Case 0
        strTesto = Me.AWord.Value    ' AWord é il nome del controllo memo
        varPercorso = "Pippo"
        intAncora = MsgBox("Salvo il testo: " & vbCrLf & strTesto _
            & vbCrLf & "in: " & varPercorso, vbYesNo)
    End Select
    Set appWord = GetObject(, "Word.Application")
    appWord.Visible = True
Err_ApreWord:
    If Err.Number = 429 Then
        Set appWord = CreateObject("Word.Application")
        Resume Next
    End If
    'Crea il documento col testo della casella AWord
    Set docWord = appWord.Documents.Add()
    appWord.Visible = True
    Set rngCorrente = docWord.Content
    With rngCorrente
      .InsertAfter strTesto
      .InsertAfter vbCrLf
Quello che non riesco a fare é abbinare ad un evento (ritengo la chiusura di
pippo.doc) le seguenti operazioni:
- ritrasferire i contenuti di pippo.doc nel controllo memo di Access
- azzerare il contenuto di pippo.doc (che in tal modo sarà pronto per
ricevere altri dati)
La routine da scrivere deve essere quindi applicata all'unico file .doc
pippo.doc, che ripeto funge da contenitore provvisorio.
Massimo Lista


Prova allora ad aprire il file pippo.doc, premi Alt-F11 (Visual Basic
Editor); nella finestra di sinistra/alto "progetto", apri la struttura
"Microsoft Word Oggetti" e fai doppio clic su "ThisDocument". A destra si
visualizzano gli eventi Close/New/Open; scegli Close e inserisci la
routine...
Già ma come fai a selezionare da word la tua applicazione access e inserire
il testo copiato da word nel controllo della maschera?
