#1
|
|||
|
|||
Replacing a Sentence with New Format
I have a document with a table.
In one of the rows, it has a sentence like this: door type: Flat Entry Door door material: Wood I'd like to replace all instances of this with proper formatting like this: Door Type: Flat-Entry Door Door Material: Wood I have already tried 'find and replace' to do this, but it doesn't seem to work. Can a Macro do this across the document? Of course, whatever variable comes after Door Type: and Door Material: should appear as it is but properly formatted. Formatted for Calibri (8). See my attached doc. Is there a way to do this? I use Word on a Mac. JH |
#2
|
|||
|
|||
As long as all of the current format in your working files are consistent with your sample find and replace should work fine.
Find " door type" Replace with "Door Type" Find " door material Replace with "^pDoor Material" |
#3
|
|||
|
|||
I also need to place it on two lines instead of one and format it to Calibri 8.
I may have 20 of them on one doc and so I was thinking of an easy macro. Also, the text after Door Type and Door Material could be different in different tables. JH |
#4
|
|||
|
|||
Macros aren't easy to write and this is not a macro writing service. This is a forum to help people who want to learn how to write their own macros.
Have you tried what I posted? If you did, it would not matter how many "of them" you have in the document and it wouldn't matter what text follows " door type" and " door material" Do a little research on how to write a "find and replace" macro. If you can't figure it out, then post what you tried and I or someone will be glad to help you from there. |
#5
|
||||
|
||||
For the content you provided, this macro works
Code:
Sub Macro1() Dim aRng As Range, aSty As Style Set aRng = ActiveDocument.Range Set aSty = ActiveDocument.Styles("Note Heading") aSty.Font.Name = "Calibri" aSty.Font.Size = 8 With aRng.Find .ClearFormatting .Replacement.ClearFormatting .Replacement.Style = aSty .Text = "door type:" .Replacement.Text = "Door Type:" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = True Do While .Execute(Replace:=wdReplaceOne) aRng.Paragraphs(1).Range.Font.Reset aRng.Collapse Direction:=wdCollapseEnd Loop End With Set aRng = ActiveDocument.Range With aRng.Find .Text = "door material:" .Replacement.Text = "^pDoor Material:" .Execute Replace:=wdReplaceAll End With End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
#6
|
|||
|
|||
Quote:
Can a slight adjustment be made? The original sentence either has a space before it or some text which is joined onto it (like xxxDoor type). Is there a way for the code to remove any space before the word, or separate the previous word from 'Door', and then move the whole thing onto another line anyway? So: xxxdoor type: Flat Entry Door door material: Wood would become: xxx Door Type: Flat Entry Door Door Material: Wood and door type: Flat Entry Door door material: Wood Becomes Door Type: Flat Entry Door Door Material: Wood Can an adjustment like this be made in the code? Really helpful. Thanks, JH |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Sentence Template | michissimo | Word | 1 | 11-19-2020 05:53 PM |
VBA: Set two styles in one sentence | jeffreybrown | Word VBA | 6 | 09-07-2018 03:46 PM |
I want to know how to format a sentence after beginning it with an automatic number | spirituel | Word | 2 | 09-29-2015 01:50 AM |
End of sentence puncuation. | nrsmd | Word | 2 | 07-04-2015 10:33 PM |
Delete does not bring second sentence closer to first sentence | Andoheb | Word | 29 | 07-03-2014 01:48 PM |