[AccessD] OT: Word - Find and replace in the text box

Ervin Brindza viner at EUnet.yu
Thu Mar 17 07:44:37 CST 2005


Hi,
I'm doing some Word automation. There is a .doc file with my control names from the Access form, and in the .doc file these control names have to be replaced with control's values.
E.g. In the .doc file is:
My name is txtName . And the procedure ReplacePara replaces the text txtName to the text box value from Access.  And in .doc file is: My name is Ervin. My problem is that the text txtName in the .doc file is in text box!, and the sub ReplacePara can't enter into text box(it works fine with "ordinary" text). How can I find and replace some text in text boxes? The backgound of a .doc file is an inserted picture(can't put it in watermark because it is too light) .
TIA
    Ervin


'
Private Sub ReplacePara(Header As String, Data As String)
ObjWord.ActiveDocument.Content.Find.Execute FindText:=Header, _
        ReplaceWith:=Data, Replace:=wdReplaceAll
End Sub


Private Sub DeletePara(Header As String, Keep As Boolean)

'Loop ensures that all occurences are replaced
'Forward and backward loops ensure that all occurences (ahead or behind)
'      current cursor position are replaced

With ObjWord.Selection.Find
    .ClearFormatting
    Do While .Execute(FindText:=Header, Forward:=True, _
            Format:=True) = True
            If Keep = False Then
                Call ObjWord.Selection.MoveDown(wdParagraph, 1, wdExtend)
            End If
            ObjWord.Selection.Delete
    Loop
End With

With ObjWord.Selection.Find
    .ClearFormatting
    Do While .Execute(FindText:=Header, Forward:=False, _
            Format:=True) = True
            If Keep = False Then
                Call ObjWord.Selection.MoveDown(wdParagraph, 1, wdExtend)
            End If
            ObjWord.Selection.Delete
    Loop
End With
  
End Sub

Private Sub ChekControls()
' Use the Tag property of the control to decide which ones
'       will be used for reporting

Dim Ctrl As Control
For Each Ctrl In Me.Form
    
        If IsNull(Ctrl.Value) Or Len(Trim(Ctrl.Value)) = 0 Then
            Call DeletePara(Ctrl.Name, False)
        Else
            Call ReplacePara(Ctrl.Name, Ctrl.Value)
        End If
    Next Ctrl
End Sub






More information about the AccessD mailing list