![]() |
|
#1
|
|||
|
|||
|
So let me start out by saying I'm extremely new to VBA and creating macros for anything, so I apologize if I don't make any sense of what I'm trying to say.
With that said what I am trying to do is select and copy or cut certain pages out of a word document that contain a set string. I can't seem to figure it out I created a shortcut to select and cut the text but it only does one page even when I use the find all in main document it only select the one that is shown on my screen. See example .doc below. I'm trying to search for text such as "Trouble Phone Line Fail" such as on pages 2 & 4 and cut those pages out to be able to post into a new document, leaving pages 1 & 3 intact. Code:
Sub TESTING()
'
' TESTING Macro
'
'
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Trouble Phone Line Fail"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Application.Run MacroName:="Normal.NewMacros.SelectPage"
Selection.Cut
End Sub
AND
Sub SelectPage()
'
' SelectPage Macro
' Select active page and clear text formating
'
ActiveDocument.Bookmarks("\Page").Range.Select
Options.DefaultHighlightColorIndex = wdNoHighlight
Selection.Font.Color = wdColorBlack
End Sub
Last edited by Banditsv2; 03-04-2019 at 09:47 AM. Reason: Accidentally posted before completing post |
|
#2
|
||||
|
||||
|
Try:
Code:
Sub Demo()
Application.ScreenUpdating = False
Dim DocSrc As Document, DocTgt As Document, Rng As Range
Set DocSrc = ActiveDocument: Set DocTgt = Documents.Add
With DocSrc.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "TROUBLE PHONE LINE FAIL"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWildcards = False
.Execute
End With
Do While .Find.Found
Set Rng = .Duplicate
Set Rng = Rng.GoTo(What:=wdGoToBookmark, Name:="\page")
DocTgt.Range.Characters.Last.FormattedText = Rng.FormattedText
Rng.Text = vbNullString
.Find.Execute
Loop
End With
Application.ScreenUpdating = True
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
Select rows w/cells containing given character strings, then sum cell in two other col.
|
LarryHills | Excel | 1 | 02-17-2017 03:55 PM |
How to Dim a substring between two strings
|
dwirony | Word VBA | 4 | 10-28-2016 07:51 AM |
| Select specific pages to print or save | Jack Byrindi | Word VBA | 0 | 01-16-2014 03:14 PM |
Buttons to select pages
|
greg__reynolds | Word | 1 | 08-30-2012 05:20 AM |
update style of all strings available between two specific strings
|
vikrantkale | Word | 1 | 03-28-2011 06:13 PM |