#1
|
|||
|
|||
Change all fields to just numbers in current page!
I have been using this code for a log time to convert all the fields of the document to just numbers:
Code:
Sub MMD_MakeAllReferencesToJustNumber() On Error Resume Next Dim oStoryRng As Range Dim oFld As Field For Each oStoryRng In ActiveDocument.StoryRanges For Each oFld In oStoryRng.Fields If oFld.Type = wdFieldRef Then If InStr(oFld.Code.Text, "\# 0;0") = 0 Then oFld.Code.Text = Replace(oFld.Code.Text, " \h", " \# 0;0 \h") End If oFld.Update End If Next oFld Next oStoryRng End Sub Now, I am wondering if it is possible to just update all the fields in the current page by changing Code:
For Each oStoryRng In ActiveDocument.StoryRanges Thanks, |
#2
|
||||
|
||||
Hi b0x4it,
Word doesn't really have a page-level definition, though it is possible to obtain a page range for processing. A simpler approach is to just select the range you're interested in (could be as little as a single word, or might span two or more pages) and run a macro like the following: Code:
Sub MMD_MakeSelectedReferencesToJustNumber() On Error Resume Next Dim oFld As Field For Each oFld In Selection.Fields With oFld If .Type = wdFieldRef Then With .Code If InStr(.Text, "\# 0;0") = 0 Then .Text = Replace(.Text, " \h", " \# 0;0 \h") End With .Update End If End With Next oFld End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
thanks for your prompt reply
How about selecting the current paragraph and then running your code using the following code? Code:
Sub MMD_MakeReferencesInParagToJustNumber() On Error Resume Next Dim oFld As Field Selection.GoTo what:=wdGoToBookmark, Name:="\sel" For Each oFld In Selection.Fields If oFld.Type = wdFieldRef Then 'add charformat switch: If InStr(oFld.Code.Text, "\# 0;0") = 0 Then oFld.Code.Text = Replace(oFld.Code.Text, " \h", " \# 0;0 \h") End If 'updates the field results to display the new format oFld.Update End If Next oFld End Sub |
#4
|
||||
|
||||
Hi b0x4it,
The code I posted will work on a single word, a sentence, paragraph, or the whole document if that's selected. I'm not sure what you're hoping to achieve via your enhancement and I have no idea what you mean by: Quote:
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
I have added this to your code:
Code:
Selection.GoTo what:=wdGoToBookmark, Name:="\sel" |
#6
|
||||
|
||||
Hi b0x4it,
'\sel' has nothing to do with a paragraph - it's just the current selection. Quote:
For Each oFld In Selection.Fields to: For Each oFld In Selection.Paragraphs.First.Range.Fields
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#7
|
|||
|
|||
thanks a lot!
it's working! cheers, |
Thread Tools | |
Display Modes | |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to save the current page in a new file with all the page settings (header, footer | Jamal NUMAN | Word | 6 | 03-15-2012 03:27 PM |
Page Numbers Not Matching Chapter Numbers | gracie5290 | Word | 1 | 02-02-2012 11:41 PM |
How to call current PC date and/or current PC year | KIM SOLIS | Excel | 2 | 11-04-2011 06:09 PM |
Auto insert current month's name and current year | Styler001 | Word | 4 | 01-25-2010 06:40 PM |
Page numbers...starting on page 3 | Motiv8td1 | Word | 2 | 02-21-2009 07:21 AM |