Hi-
I have the following VBA code in a mailmerge:
With Selection
.HomeKey unit:=wdStory
.Find.Execute findtext:="[end of transmittal]"
.ExtendMode = True
.Find.Execute findtext:="[end of transmittal]"
.Delete
End With
This will delete all text between (and including) "[end of transmittal]".
But, what I really want to do, is to deletle all text from "[end of
transmittal]" to the end of the document.
How would I change the above to accomplish this?
Thanks,
Marty
Greg Maxey - 21 Aug 2006 19:48 GMT
Try:
Sub Scratchmacro()
Dim oRng As Word.Range
Set oRng = ActiveDocument.Range
With oRng
With .Find
.Text = "[end of transmittal]"
If .Execute Then
With oRng
.Collapse wdCollapseEnd
.End = ActiveDocument.Range.End
.Delete
End With
End If
End With
End With
End Sub
> Hi-
>
[quoted text clipped - 16 lines]
> Thanks,
> Marty
Marty - 21 Aug 2006 20:41 GMT
I tried this, but it did not seem to work. Perhaps it was not getting to the
beginning of the document. However, Doug also sent some code, and that did
work.
Thanks for you help. It helps me to understand what is happening in the code.
-Marty
> Try:
>
[quoted text clipped - 35 lines]
> > Thanks,
> > Marty
Doug Robbins - Word MVP - 21 Aug 2006 19:58 GMT
This should do it
Dim delrange as Range
With Selection
.HomeKey unit:=wdStory
.Find.Execute findtext:="[end of transmittal]"
End With
Set delrange = Selection.Range
delrange.Start=delrange.End+1
delrange.End = ActiveDocument.Range.End
delrange.Delete

Signature
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
> Hi-
>
[quoted text clipped - 16 lines]
> Thanks,
> Marty
Marty - 21 Aug 2006 20:40 GMT
Thanks. It worked just fine.
-Marty
> This should do it
>
[quoted text clipped - 28 lines]
> > Thanks,
> > Marty