salve a tutti
ho un file word di template, in cui lo apro tramite vb6 e vado a modificare tutte le voci in base a quello che c'è nel database
il codice che uso è il seguente, ovviamente per ogni label da sostituire richiamo sempre sostituzione
il problema è che dopo diverse volte che uso questo metodo, il file di template si rovina
come posso fare per sostituire?
p.s.
nella sub sostituisci, faccio spesso riferimento a sostituzione, ma la richiamo per aprire l'header, sostituire, chiudere l'header
poi aprire footer, sostituire e chiudere footer
e cosi per la pagina successiva, in quanto word distingue dalla prima pagina alla seconda
codice:
Public Sub Sostituzione(da, a)
With WordApp
'sostituisce nella pagina
.Selection.Find.ClearFormatting
.Selection.Find.Replacement.ClearFormatting
With .Selection.Find
.Text = da '"ST_Codice AGESP_Titolo Esigenza_SC_20080715.doc"
.Replacement.Text = a '"ddddddddd"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
.Selection.Find.Execute Replace:=wdReplaceAll
End With
DoEvents
End Sub
Public Sub sostituisci(da As String, a As String)
On Error Resume Next
Call Sostituzione(da, a)
WordApp.ActiveWindow.ActivePane.View.NextHeaderFooter
Call Sostituzione(da, a)
WordApp.ActiveWindow.ActivePane.View.NextHeaderFooter
Call Sostituzione(da, a)
If WordApp.Selection.HeaderFooter.IsHeader = True Then
WordApp.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
Else
WordApp.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
End If
Call Sostituzione(da, a)
WordApp.ActiveWindow.ActivePane.View.NextHeaderFooter
Call Sostituzione(da, a)
WordApp.ActiveWindow.ActivePane.View.PreviousHeaderFooter
Call Sostituzione(da, a)
' InserisciVariabileWord da, a,
DoEvents
End Sub