Newsgroup: it.comp.lang.visual-basic
Titolo: HELP!!!! AUTOMAZIONE OLE!!!!!

RiSalve a tutti e scusate l'urlo (di disperazione) nell'oggetto.
 Ri-premetto che sono un neofita di VB.
ho creato un'applicazione per la gestione di un database (*.mdb) a cui
accedo con DAO 3.51 (utilizzo vb6.0), ogni record di database possiede un
campo multiplo univoco come indice. ora vorrei includere alcuni di questi
campi in un documento Word che avrà per nome del file il campo multiplo e
verrà salvato in una sottodirectory dell'applicazione. Nel database vorrei
salvare in un campo apposito (testo?) il percorso del documento in modo di
avere la possibilità di poterlo richiamare dall'applicazione con un semplice
clic. ho provato in vari modi con l'oggetto ole di Vb ma non mi soddisfa, da
vari articoli letti (purtroppo trattati in maniera superficiale) ho visto
che l'automazione ole potrebbe fare al mio caso, ma per adesso sono solo
riuscito ad avviare l'applicazione con un documento vuoto. non riesco ad
andare oltre.
Qualcuno può illuminarmi sull'argomento?
ringrazio per la pazienza e mi scuso del msg così lungo.
            max

 andare oltre.
Avevo gia' letto il tuo precedente messaggio ed avevo rinunciato a
rispondere perche' non avevo capito bene cosa volessi fare e, soprattutto,
trattavi un argomento troppo vasto.
Ora lo riposti identico. Vuol dire che non ti sei posto il problema della
comprensibilita' del testo ma hai solo ipotizzato la mancanza di
disponibilita' dei frequentatori del ng: e' una posizione "rigida" mentre
per programmare bisogna essere anche "flessibili", immaginare tutto e il
contrario di tutto, specialmente con i prodotti Microsoft!
Un'altra cosa. Perche' leggere articoli superficiali (ma sara' poi vero?)
quando hai pressocche' tutto sottomano quel che ti serve? Intendo la guida
in linea che, fara' schifo, fara' bestemmiare in turco, ma sull'argomento
c'e' piu' o meno tutto.
Veniamo al dunque. Ho creato un nuovo database. Poi una tabella. I campi
della tabella sono: Campo1, Testo; Campo2, Intero lungo; Percorso, Testo. Ho
messo l'indice primario a Campo1. Poi con l'autocomposizione maschera ho
creato una semplice maschera con tutti i campi della tabella. Quindi con
l'autocomposizione Pulsante di comando ho inserito sulla maschera un
pulsante per avviare Word e ne ho modificato il codice in questo modo:
Private Sub cmdCreaDoc_Click()
Dim myApp                 As Word.Application
Dim myDoc                 As Word.Document
Dim sPath                 As String
Dim sFileName             As String
Dim sFullName             As String
Dim bSavePropertiesPrompt As Boolean
  On Error GoTo cmdCreaDoc_Click_Error
  sPath = CurrentDb.Name
  Do Until Right$(sPath, 1) = "\"
    sPath = Mid$(sPath, 1, Len(sPath) - 1)
  Loop
  sFileName = Me.Campo1
  sFullName = sPath & sFileName & ".Doc"
  Set myApp = New Word.Application
  With myApp
    '.Visible = True
    Set myDoc = .Documents.Add
    bSavePropertiesPrompt = .Options.SavePropertiesPrompt
    .Options.SavePropertiesPrompt = False
    myDoc.SaveAs FileName:=sFullName
    With .Selection
      .TypeText Text:=Me.Campo1
      .TypeParagraph
      .TypeText Text:=Me.Campo2
      .TypeParagraph
    End With
    With myDoc
      .Save
      Me.Percorso = .FullName
    End With
    .Options.SavePropertiesPrompt = bSavePropertiesPrompt
    .Quit
  End With
cmdCreaDoc_Click_Exit:
  Set myDoc = Nothing
  Set myApp = Nothing
  Exit Sub
cmdCreaDoc_Click_Error:
  MsgBox Err.Description
  Resume cmdCreaDoc_Click_Exit
End Sub
Mi sembra che, a grandi linee, faccia quello che vuoi tu, se ho capito bene.
Ci sono alcune righe di codice che fanno un po' schifo, tipo quelle in cui
ricavo il percorso del file mdb, ma non mi e' venuto in mente un sistema
piu' elegante.
Non dimenticare di referenziare Word nel progetto: Strumenti/Riferimenti...
--
Ciao.
Maurizio