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