![]() |
|
#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 | Thread Starter | Forum | Replies | Last Post |
![]() |
LarryHills | Excel | 1 | 02-17-2017 03:55 PM |
![]() |
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 |
![]() |
greg__reynolds | Word | 1 | 08-30-2012 05:20 AM |
![]() |
vikrantkale | Word | 1 | 03-28-2011 06:13 PM |