Compilazione di un modello in Word
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

A volte è comodo creare in automatico lettere o contratti partendo da modelli precompilati ma utilizzando i dati contenuti in un fogli o in una tabella in Excel: la macro di questo esempio è un esempio di come si può realizzare.

Nel nostro esempio, riportato in riga per chiarezza, abbiamo indicato "variabili" e il "valore" che vogliamo riportare sul modello e il nome del modello stesso.
 
Nel nostro esempio di lettera abbiamo indicato, fra parentesi quadre, la posizione dei "variabili" che vogliamo riportati sul documento (la colonna B), sono indicati in grassetto nell'esempio qui sotto.
Spett.le
                                        [Azienda]
                                        [Via]
                                        [CAP] [Citta] ([Prov])

Gentile [SigSigRa] [Nome], siamo lieti di informarla…

Data, [Data]


La macro qui sotto apre il testo Word contenente la lettera di esempio e sostituisce i nomi delle variabili (Colonna B) con il loro valore corrispondente (colonna C):
Sub CompilaModulo()
  Set Wbi = ActiveWorkbook
  Set Fi = Wbi.ActiveSheet
  
  Modello = Application.ThisWorkbook.Path & "" & Fi.Range("C2")
  Set TabDati = Fi.Range("B5:C12")

  '--- apre il modello ---
  Set Wa = CreateObject("Word.Application")
  Wa.documents.Open (Modello)
  Wa.Visible = True
  Wa.Activate
  Set Testo = Wa.ActiveDocument.Content

  '--- sostituisce ad ogni vaiabile il valore corrispondente ---
  Ri = 1
  While (Ri <= TabDati.Rows.Count)
    Variabile = TabDati.Cells(Ri, 1)
    Valore = TabDati.Cells(Ri, 2)
    
    If (Variabile <> "") Then
      With Testo.Find
        .Text = "[" & Variabile & "]"
        .Replacement.Text = Valore
        .Execute Replace:=2, Forward:=True, Wrap:=wdFindContinue
      End With
    End If
    
    Ri = Ri + 1
  Wend
  
  '--- il documento rimane aperto ---
 End Sub
 

data4idea srls - PIva 01881000937 - info@data4idea.it