Newsgroup: it.comp.appl.access
Titolo: Smanettoni di Word.....UNITEVI!!!

Salve a tutti,
vorrei conoscere, possibilmente, una valida routine che, in Access, tramite
un pulsante di comando, mi apra un documento esistente o crearlo,
possibilmente, col nome, magari, di una casella di testo oppure tramite il
numero di ID e salvare il documento col numero di ID della tabella in uso.
Ho provato con l'autocomposizione ma non so come "smanettare" nel codice per
aprire un file specifico di Word.
Grazie anticipatamente.
Marco.



sistema questa
Private Sub periziatrentin_Click()
If IsNull(Me.posizione) Or Me.posizione = "" Then
    Me.posizione.SetFocus
    MsgBox ("Specifica il percorso dove registrare la Perizia")
    Exit Sub
End If
Dim trovato, NomeFile
trovato = ""
NomeFile = Me.posizione & Me.numero.Value & Me.compagnia.[Column](1) &
".doc"
trovato = Dir(NomeFile)
If trovato = "" Then
If IsNull(Me!numero) Or Me.numero = "" Then
    Exit Sub
End If
Dim acapp As Word.Application
Dim doc As Word.Document
Set acapp = New Word.Application
Set doc = acapp.Documents.Add
Dim db As Database
Set db = CurrentDb()
Dim rs As Recordset
Set rs = db.OpenRecordset("SELECT sinistro.*,
compagnia.descrizionecompagnia FROM sinistro LEFT JOIN compagnia ON
sinistro.compagnia = compagnia.compagnia where numero = " & Me.numero)
If rs.EOF Then
    rs.Close
    Set db = Nothing
    Exit Sub
End If
With acapp.Selection.Font
    acapp.Selection.Delete
    .Bold = True
    .Name = "Arial Black"
    .Size = 28
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
    Dim a
    For a = 1 To 17
        acapp.Selection.ParagraphFormat.TabStops.Add Position:=a *
28.35
    Next
    'intestazione pagina
    acapp.Selection.TypeText ("T")
    .Size = 20
    acapp.Selection.TypeText ("rentin")
    .Size = 18
    acapp.Selection.TypeText (vbCrLf)
    acapp.Selection.TypeText ("  ")
    .Size = 28
    acapp.Selection.TypeText ("C")
    .Size = 22
    acapp.Selection.TypeText ("onsulting")
    .Size = 10
    acapp.Selection.TypeText ("  ")
    .Underline = wdUnderlineSingle
    acapp.Selection.TypeText ("  srl
")
    .Name = "Baskerville Old Face"
    .Bold = False
    acapp.Selection.TypeText ("Perizie - Consulenza e Tecnica
Assicurativa" & vbCrLf)
    .Underline = wdUnderlineNone
    .Name = "Times New Roman"
    .Size = 8
    acapp.Selection.TypeText ("Associato ")
    .Bold = True
    acapp.Selection.TypeText ("A.N.P.A.I.R.D. - UNINDUSTRIA ")
    .Bold = False
    acapp.Selection.TypeText ("- Unione degli industriali di Padova -
Corrispondente")
    .Bold = True
    acapp.Selection.TypeText (" GREESA GATEX ")
    .Bold = False
    acapp.Selection.TypeText ("- MARSEILLE  (Francia)" & vbCrLf)
    doc.Content.Select
    acapp.Selection.Copy
    doc.Sections(1).Headers(wdHeaderFooterPrimary).Range.Paste
    acapp.Selection.Delete
    doc.Sections(1).PageSetup.HeaderDistance = 14.3
    'pie pagina
    .Name = "Arial Black"
    .Size = 8
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    acapp.Selection.TypeText ("C.F. P.IVA: 02640970287           ")
    .Italic = True
    acapp.Selection.TypeText ("home page: ")
    .Name = "Times New Roman"
    .Size = 12
    .Underline = wdUnderlineSingle
    .Italic = False
    acapp.Selection.TypeText ("
http://www.trentin.com
")
    .Underline = wdUnderlineNone
    .Name = "Arial Black"
    .Size = 8
    .Italic = True
    acapp.Selection.TypeText (" e -mail: ")
    .Italic = False
    .Name = "Times New Roman"
    .Size = 12
    .Underline = wdUnderlineSingle
    acapp.Selection.TypeText ("
in...@trentin.com
" & vbCrLf)
    .Underline = wdUnderlineNone
    .Name = "Arial Black"
    .Size = 8
    acapp.Selection.TypeText ("Sede Legale: 35043 MONSELICE (PD) - Via
Zanellato, 29 - Tel. 0429 784240/1 - Fax 0429 784248" & vbCrLf)
    acapp.Selection.TypeText ("Studi collegati:" & vbCrLf)
    acapp.Selection.TypeText ("35123 PADOVA - V.Marsilio da PD n. 22 -
Tel 049/8761999 - Fax 049/663207" & vbCrLf)
    acapp.Selection.TypeText ("Milano - Ferrara - Piacenza - Treviso -
Verona" & vbCrLf)
    doc.Content.Select
    acapp.Selection.Copy
    doc.Sections(1).Footers(wdHeaderFooterPrimary).Range.Paste
    acapp.Selection.Delete
    ' corpo pagina
    .Name = "Times New Roman"
    .Size = 12
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
    acapp.Selection.TypeText ("Alla Spett.le ")
    .Bold = True
    acapp.Selection.TypeText ("G.G.L." & vbCrLf)
    .Bold = False
    acapp.Selection.TypeText ("V.le Codalunga n 4 H" & vbCrLf)
    acapp.Selection.TypeText ("35123 - PADOVA" & vbCrLf & vbCrLf)
    .Bold = True
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
    acapp.Selection.TypeText ("RELAZIONE DI PERIZIA DANNI" & vbCrLf)
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
    .Bold = False
    acapp.Selection.TypeText (vbCrLf & "Compagnia" & vbTab & vbTab)
    .Bold = True
    acapp.Selection.TypeText (rs![descrizionecompagnia] & vbTab &
vbTab & vbTab & vbTab & "Agenzia " & rs![agenzia] & vbCrLf)
    .Bold = False
    acapp.Selection.TypeText ("Sin. n." & vbTab & vbTab & vbTab &
rs![sinistroagenzia] & vbTab & vbTab & vbTab & vbTab & "del" & vbCrLf)
    acapp.Selection.TypeText ("Polizza n." & vbTab & vbTab &
rs![Polizza] & vbTab & vbTab & vbTab & "Mod. Polizza" & vbCrLf)
    acapp.Selection.TypeText ("Premio pagato il " & vbTab & vbTab &
vbTab & vbTab & vbTab & "Denuciato " & vbTab & "€" & vbCrLf & vbCrLf)
    acapp.Selection.TypeText ("Liquidato Euro " & vbTab &
Format(Nz(Me.liquidato), "##,##0.00") & vbCrLf & vbCrLf & vbCrLf)
    .Bold = True
    acapp.Selection.TypeText ("Assicurato " & Format(rs![assicurato],
"##,##0.00") & vbCrLf & vbCrLf)
    .Bold = False
    acapp.Selection.TypeText ("Padova, " & Format(Date, "dd mmmm
yyyy") & vbCrLf)
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
    acapp.Selection.TypeText ("p. TRENTIN CONSULTING SRL" & vbCrLf)
    acapp.Selection.TypeText ("p.i. CARLOT " & vbCrLf)
    acapp.Selection.InsertBreak (wdSectionBreakNextPage)
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
    .Bold = True
    acapp.Selection.TypeText (vbCrLf & vbCrLf & vbCrLf & vbCrLf &
"All'Agenzia di" & vbTab & Me.agenzia & vbCrLf)
    .Bold = False
    acapp.Selection.TypeText (vbCrLf & "Polizza N.°:" & vbTab &
Me.Polizza & vbCrLf)
    acapp.Selection.TypeText (vbCrLf & "Sinistro N.°:" & vbTab &
Me.sinistroagenzia & vbTab)
    .Bold = True
    acapp.Selection.TypeText ("Es. " & Me.annoriferimento & vbCrLf)
    .Bold = False
    acapp.Selection.TypeText (vbCrLf & "DITTA ASSICURATA" & vbTab &
Me.assicurato & vbCrLf)
    acapp.Selection.TypeText (vbCrLf & "In relazione al Vs. incarico
del " & Me.dataincarico & ", si allega copia dell'atto di liquidazione
sottoscritto per" & vbCrLf)
    acapp.Selection.TypeText (vbCrLf & "                   €
" & Format(Nz(Me.liquidato), "##,##0.00") & " (" &
UCase(EuroLettere(Nz(Me.liquidato))) & ")" & vbCrLf)
    acapp.Selection.TypeText (vbCrLf & "autorizzandoVene il
pagamento." & vbCrLf & vbCrLf)
    acapp.Selection.TypeText ("Padova, " & Format(Date, "dd mmmm
yyyy") & vbCrLf & vbCrLf)
    acapp.Selection.ParagraphFormat.Alignment = wdAlignParagraphRight
    acapp.Selection.TypeText ("p. TRENTIN CONSULTING SRL" & vbCrLf)
    acapp.Selection.TypeText ("p.i. CARLOT " & vbCrLf)
End With
doc.SaveAs NomeFile
rs.Close
Set db = Nothing
doc.Close
Set doc = Nothing
acapp.Quit
Set acapp = Nothing
End If
Set acapp = New Word.Application
Set doc = acapp.Documents.Open(NomeFile)
acapp.Visible = True
End Sub
Saluti.
Emanuele.