![]() |
|
#1
|
|||
|
|||
|
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, |
|
|
|
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 |