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

Rispondi quotando