(Msg. 25) Posted: Wed Aug 20, 2008 10:11 am
Post subject: Re: Creating a Macro [Login to view extended thread Info.] Archived from groups: microsoft>public>word>docmanagement (more info?)
Your picky dentist isn't paying me for my time to keep recreating this code,
because he keeps changing his mind! How much of his expertise does he/she
offer for free?
This took a bit of head scratching and some abortive attempts to do it more
simply, but it requires modifications to large sections of the code
As you want the numbers transposed, the simplest way is to do that first. I
have assumed that all the 'uppers' and 'bottoms' are in lower case as
wildcard searches are case sensitive.
I do not know what you did with the + sign so I have omitted it. Be careful
of the array order, and the consequent case statement numbering if you add
extra search sequences.
I have broken the Findtext array into three lines to avoid problems with the
e-mail system
I have changed the font size for the symbols to 16 and moved the font sizing
to the case statements.
There are no spaces between the symbols and the numbers. The spacing is
attributable to the internal spacing in the font. Short of creating your own
font (which is possible, but time consuming) there is nothing you can do
about the spacing between the numbers and the symbols.
Note that the Case statements refer to the order of the items in the array
starting with 0.
Dim vFindText As Variant
Dim vReplText As Variant
Dim i As Long
vFindText = Array("(upper right) ([0-9]{1,})", _
"(bottom right) ([0-9]{1,})", "upper left ", _
"upper right", "bottom left ", "bottom right ")
vReplText = Array("\2\1", "\2\1", ChrW(9496), ChrW(9492), ChrW(9488),
ChrW(9484))
With Selection
.HomeKey wdStory
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchWholeWord = True
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
.Format = True
.MatchCase = False
For i = LBound(vFindText) To UBound(vFindText)
.Text = vFindText(i)
.Replacement.Text = vReplText(i)
.Replacement.Font.name = "Arial"
Select Case i
Case 2
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 3
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 4
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case 5
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case Else
End Select
.Execute Replace:=wdReplaceAll
Next i
End With
End With
End Sub
lewisma wrote:
> I am really sorry to be a nuisance, the person that requires this is
> a little picky, i did work out the i can make the symbols slightly
> bigger by increasing the font size.
> So for now what i need to do is the first option which is to move the
> symbol to the right of the number, this is only needed for
> upper/lower right.
>
> Extract ?5 (upper right) needs to be 5 then the symbol
>
> Extract ?5 (lower right) needs to be 5 then the symbol
>
> If possible no spaces between the number and the symbol, i can add a
> space if i need to.
>
>> Let me get this clear - you now want
>>
>> Extract 5?
>> and
>> Extract 5?
>>
>> but
>>
>> Extract ?5
>> and
>> Extract ?5
>>
>> plus, if possible, you want the horizontal part of the symbol longer?
>>
>> The first part should be easy enough, but it will require the
>> wildcard option, which means that the searches will be case
>> sensitive. So we will probably have to replace Upper with upper and
>> Bottom with bottom first - or are they already the same case?
>>
>> The second part of the problem may not be so simple. It *may* be
>> possible to combine two characters e.g
>> ??
>>
>> but then I have the feeling you will tell me that the horizontal is
>> too long >>
>> If you can find the combination of box characters that will work for
>> you, I will try and find a way of combining them.... but it will
>> have to wait until tomorrow at least.
>>
>>
>> --
>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>> Graham Mayor - Word MVP
>>
>> My web site www.gmayor.com >> Word MVP web site http://word.mvps.org >> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>
>>
>> lewisma wrote:
>>> OK, i'm getting there with this, upper/lower left i think are fine.
>>> Here is what upper/lower right currently look like.
>>>
>>> Extract ?5 (upper right)
>>>
>>> Extract ?5 (lower right)
>>>
>>> I need to move the symbols to the right of the number and take out
>>> the space between the two. Is there any adjustment i can make so i
>>> can make both lines slighlty longer ?
>>>
>>>> If i add a space in the find string after right (upper and lower)
>>>> it takes away 1 space but there is still one space left to remove,
>>>> i tried adding 2 spaces at the end of right, but that doesn't
>>>> change the phrase at all. --
>>>> lewisma
>>>>
>>>>
>>>> "lewisma" wrote:
>>>>
>>>>> Works well, now looks like this
>>>>>
>>>>> Extract ? 5
>>>>>
>>>>> Extract ?5
>>>>>
>>>>> Extract ? 5
>>>>>
>>>>> Extract ?5
>>>>>
>>>>> Just need to work out how to remove the space for lines 1 and 3
>>>>> which is upper/bottom right
>>>>> --
>>>>> lewisma
>>>>>
>>>>>
>>>>> "Graham Mayor" wrote:
>>>>>
>>>>>> Are you sure that's it? >>>>>>
>>>>>> Locate the line
>>>>>> ..Replacement.Font.Size = 14
>>>>>>
>>>>>> and add the following immediately after it
>>>>>>
>>>>>> Select Case i
>>>>>> Case 0
>>>>>> .Replacement.Font.Position = -4
>>>>>> Case 1
>>>>>> .Replacement.Font.Position = -4
>>>>>> Case 2
>>>>>> .Replacement.Font.Position = 4
>>>>>> Case 3
>>>>>> .Replacement.Font.Position = 4
>>>>>> Case Else
>>>>>> End Select
>>>>>>
>>>>>> This will process each item of the original four in the
>>>>>> replacement array in order. Any others you have added to the end
>>>>>> will not be affected.
>>>>>>
>>>>>> As for moving the two items closer together add a space in the
>>>>>> find strings after both occurrences of 'left'
>>>>>> i.e.. "upper left " and "bottom left "
>>>>>>
>>>>>> --
>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>> Graham Mayor - Word MVP
>>>>>>
>>>>>> My web site www.gmayor.com >>>>>> Word MVP web site http://word.mvps.org >>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>
>>>>>>
>>>>>> lewisma wrote:
>>>>>>> I know i'm being a pain, this is what it looks like so far.
>>>>>>>
>>>>>>> Extract ? 5
>>>>>>>
>>>>>>> Extract ? 5
>>>>>>>
>>>>>>> Extract ? 5
>>>>>>>
>>>>>>> Extract ? 5
>>>>>>>
>>>>>>> Is it possible to close the spaces so there is not as much of a
>>>>>>> gap between the symbol and the number, the top 2 phrases are
>>>>>>> upper so they that symbol would need to go down 1 line and
>>>>>>> slighlty across and the bottom 2 are for the lower phrase, looks
>>>>>>> like that needs to go up 1 line and slighlty across.
>>>>>>> I want to see of i can align them a bit more accurately.
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>>> You are welcome >>>>>>>>
>>>>>>>> --
>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>
>>>>>>>> My web site www.gmayor.com >>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>
>>>>>>>>
>>>>>>>> lewisma wrote:
>>>>>>>>> Graham
>>>>>>>>>
>>>>>>>>> Fantastic, your a genius, works like a charm, many many thanks
>>>>>>>>> for your help with this, it would have taken me forever to
>>>>>>>>> figure this all out.
>>>>>>>>>
>>>>>>>>>> The phrases and their replacements are configured in the two
>>>>>>>>>> arrays
>>>>>>>>>>
>>>>>>>>>> vFindText = Array("upper left", "upper right", "lower left",
>>>>>>>>>> "lower right") vReplText = Array(ChrW(9496), ChrW(9492),
>>>>>>>>>> ChrW(9488), ChrW(9484))
>>>>>>>>>>
>>>>>>>>>> The order in the first list corresponds with the order in the
>>>>>>>>>> second list, with each item separated by a comma. You can use
>>>>>>>>>> plain text or character strings. If you use the former you
>>>>>>>>>> would surround the text with straight quotes as shown in the
>>>>>>>>>> first line. In the second line I have used the unicode
>>>>>>>>>> numbers for the characters in the extended character set of
>>>>>>>>>> the Arial font.
>>>>>>>>>>
>>>>>>>>>> If you are looking up suitable characters use the Insert
>>>>>>>>>> Symbol command and browse through those available. Character
>>>>>>>>>> 265B might be suitable. Having chosen the character note the
>>>>>>>>>> HEX number - here 265B, which you need to convert to its
>>>>>>>>>> decimal equivalent. The simplest way to do that is to use
>>>>>>>>>> the Windows Calculator in its Scientific view. With the Hex
>>>>>>>>>> button checked, type in 265B, then click the Dec button and
>>>>>>>>>> if you have done it correctly you would get 9819. So for that
>>>>>>>>>> character you would enter ChrW(9819).
>>>>>>>>>>
>>>>>>>>>> If you want a simple + sign then add "+" to the replace
>>>>>>>>>> string instead - or if you prefer ChrW(43)
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>>>
>>>>>>>>>> My web site www.gmayor.com >>>>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> lewisma wrote:
>>>>>>>>>>> This is fantastic, great job, one last thing if i wanted to
>>>>>>>>>>> add another phrase in which would be something like
>>>>>>>>>>> everything or all (this would be for upper right/left and
>>>>>>>>>>> lower right/left) i think they would require the + symbol
>>>>>>>>>>> for this to allow for everything, how do i add that into the
>>>>>>>>>>> current working script
>>>>>>>>>>>
>>>>>>>>>>> Many thanks
>>>>>>>>>>>
>>>>>>>>>>>> Glad you were able to get there in the end >>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>>>>>
>>>>>>>>>>>> My web site www.gmayor.com >>>>>>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> lewisma wrote:
>>>>>>>>>>>>> Fantastic, i noticed on the script the wording was lower
>>>>>>>>>>>>> instead of bottom, changed that and it looks great
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sorry i didn't spot the link when i read your reply. OK i
>>>>>>>>>>>>>> have tested this and it seems to work really well, how do
>>>>>>>>>>>>>> i get the script to change for bottom right/left. It only
>>>>>>>>>>>>>> changes the upper phrases but this is definatly looking
>>>>>>>>>>>>>> good, i really appreciate your help with this --
>>>>>>>>>>>>>> lewisma
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> "Graham Mayor" wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> http://www.gmayor.com/installing_macro.htm >>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> My web site www.gmayor.com >>>>>>>>>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> lewisma wrote:
>>>>>>>>>>>>>>>> Graham
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> This is fantastic, i will give it a try, what's the
>>>>>>>>>>>>>>>> best way to get the script into a macro, before i just
>>>>>>>>>>>>>>>> went into Word/Macro and Create Macro, named it and
>>>>>>>>>>>>>>>> just pasted in the script, should i be doing it that
>>>>>>>>>>>>>>>> way or is there another way to do this ? Thanks
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> If you can find suitable characters and substitute
>>>>>>>>>>>>>>>>> them in and the font they are derived from in the
>>>>>>>>>>>>>>>>> macro I posted, it will do just that.. Digging around
>>>>>>>>>>>>>>>>> in Unicode fonts for some suitable shape I came up
>>>>>>>>>>>>>>>>> with the following which uses box drawing shapes from
>>>>>>>>>>>>>>>>> the Arial Unicode font, which is a fairly standard
>>>>>>>>>>>>>>>>> font that you will have.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Sub ReplaceList()
>>>>>>>>>>>>>>>>> Dim vFindText As Variant
>>>>>>>>>>>>>>>>> Dim vReplText As Variant
>>>>>>>>>>>>>>>>> Dim i As Long
>>>>>>>>>>>>>>>>> vFindText = Array("upper left", "upper right", "lower
>>>>>>>>>>>>>>>>> left", "lower right") vReplText = Array(ChrW(9496),
>>>>>>>>>>>>>>>>> ChrW(9492), ChrW(9488), ChrW(9484))
>>>>>>>>>>>>>>>>> With Selection
>>>>>>>>>>>>>>>>> .HomeKey wdStory
>>>>>>>>>>>>>>>>> With .Find
>>>>>>>>>>>>>>>>> .ClearFormatting
>>>>>>>>>>>>>>>>> .Replacement.ClearFormatting
>>>>>>>>>>>>>>>>> .Forward = True
>>>>>>>>>>>>>>>>> .Wrap = wdFindContinue
>>>>>>>>>>>>>>>>> .MatchWholeWord = True
>>>>>>>>>>>>>>>>> .MatchWildcards = False
>>>>>>>>>>>>>>>>> .MatchSoundsLike = False
>>>>>>>>>>>>>>>>> .MatchAllWordForms = False
>>>>>>>>>>>>>>>>> .Format = True
>>>>>>>>>>>>>>>>> .MatchCase = False
>>>>>>>>>>>>>>>>> For i = LBound(vFindText) To UBound(vFindText)
>>>>>>>>>>>>>>>>> .Text = vFindText(i)
>>>>>>>>>>>>>>>>> .Replacement.Text = vReplText(i)
>>>>>>>>>>>>>>>>> .Replacement.Font.name = "Arial"
>>>>>>>>>>>>>>>>> .Replacement.Font.Size = 14
>>>>>>>>>>>>>>>>> .Execute Replace:=wdReplaceAll
>>>>>>>>>>>>>>>>> Next i
>>>>>>>>>>>>>>>>> End With
>>>>>>>>>>>>>>>>> End With
>>>>>>>>>>>>>>>>> End Sub
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> My web site www.gmayor.com >>>>>>>>>>>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> lewisma wrote:
>>>>>>>>>>>>>>>>>> Graham
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Many thanks for your quick response. I have just been
>>>>>>>>>>>>>>>>>> told that the shape does not need to have anything
>>>>>>>>>>>>>>>>>> typed into it now. So all that needs to be done is
>>>>>>>>>>>>>>>>>> for the phrases to be replaced by the shape. Does
>>>>>>>>>>>>>>>>>> this
(Msg. 26) Posted: Wed Aug 20, 2008 10:11 am
Post subject: Re: Creating a Macro [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
I'm really sorry, i keep getting a compile error when i try to run this.
Compile error: Invalid outside procedure
The Macro is listed below.
Dim vFindText As Variant
Dim vReplText As Variant
Dim i As Long
vFindText = Array("(upper right) ([0-9]{1,})", _
"(bottom right) ([0-9]{1,})", "upper left ", _
"upper right", "bottom left ", "bottom right ")
vReplText = Array("\2\1", "\2\1", ChrW(9496), ChrW(9492), ChrW(9488),
ChrW(9484))
With Selection
.HomeKey wdStory
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchWholeWord = True
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
.Format = True
.MatchCase = False
For i = LBound(vFindText) To UBound(vFindText)
.Text = vFindText(i)
.Replacement.Text = vReplText(i)
.Replacement.Font.Name = "Arial"
Select Case i
Case 2
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 3
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 4
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case 5
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case Else
End Select
.Execute Replace:=wdReplaceAll
Next i
End With
End With
End Sub
Not sure what i'm doing wrong here.
--
lewisma
"Graham Mayor" wrote:
> Your picky dentist isn't paying me for my time to keep recreating this code,
> because he keeps changing his mind! How much of his expertise does he/she
> offer for free? >
> This took a bit of head scratching and some abortive attempts to do it more
> simply, but it requires modifications to large sections of the code
>
> As you want the numbers transposed, the simplest way is to do that first. I
> have assumed that all the 'uppers' and 'bottoms' are in lower case as
> wildcard searches are case sensitive.
>
> I do not know what you did with the + sign so I have omitted it. Be careful
> of the array order, and the consequent case statement numbering if you add
> extra search sequences.
>
> I have broken the Findtext array into three lines to avoid problems with the
> e-mail system
>
> I have changed the font size for the symbols to 16 and moved the font sizing
> to the case statements.
>
> There are no spaces between the symbols and the numbers. The spacing is
> attributable to the internal spacing in the font. Short of creating your own
> font (which is possible, but time consuming) there is nothing you can do
> about the spacing between the numbers and the symbols.
>
> Note that the Case statements refer to the order of the items in the array
> starting with 0.
>
> Dim vFindText As Variant
> Dim vReplText As Variant
> Dim i As Long
> vFindText = Array("(upper right) ([0-9]{1,})", _
> "(bottom right) ([0-9]{1,})", "upper left ", _
> "upper right", "bottom left ", "bottom right ")
> vReplText = Array("\2\1", "\2\1", ChrW(9496), ChrW(9492), ChrW(9488),
> ChrW(9484))
> With Selection
> .HomeKey wdStory
> With .Find
> .ClearFormatting
> .Replacement.ClearFormatting
> .Forward = True
> .Wrap = wdFindContinue
> .MatchWholeWord = True
> .MatchWildcards = True
> .MatchSoundsLike = False
> .MatchAllWordForms = False
> .Format = True
> .MatchCase = False
> For i = LBound(vFindText) To UBound(vFindText)
> .Text = vFindText(i)
> .Replacement.Text = vReplText(i)
> .Replacement.Font.name = "Arial"
> Select Case i
> Case 2
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = -4
> Case 3
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = -4
> Case 4
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = 4
> Case 5
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = 4
> Case Else
> End Select
> .Execute Replace:=wdReplaceAll
> Next i
> End With
> End With
> End Sub
>
>
> lewisma wrote:
> > I am really sorry to be a nuisance, the person that requires this is
> > a little picky, i did work out the i can make the symbols slightly
> > bigger by increasing the font size.
> > So for now what i need to do is the first option which is to move the
> > symbol to the right of the number, this is only needed for
> > upper/lower right.
> >
> > Extract ?5 (upper right) needs to be 5 then the symbol
> >
> > Extract ?5 (lower right) needs to be 5 then the symbol
> >
> > If possible no spaces between the number and the symbol, i can add a
> > space if i need to.
> >
> >> Let me get this clear - you now want
> >>
> >> Extract 5?
> >> and
> >> Extract 5?
> >>
> >> but
> >>
> >> Extract ?5
> >> and
> >> Extract ?5
> >>
> >> plus, if possible, you want the horizontal part of the symbol longer?
> >>
> >> The first part should be easy enough, but it will require the
> >> wildcard option, which means that the searches will be case
> >> sensitive. So we will probably have to replace Upper with upper and
> >> Bottom with bottom first - or are they already the same case?
> >>
> >> The second part of the problem may not be so simple. It *may* be
> >> possible to combine two characters e.g
> >> ??
> >>
> >> but then I have the feeling you will tell me that the horizontal is
> >> too long > >>
> >> If you can find the combination of box characters that will work for
> >> you, I will try and find a way of combining them.... but it will
> >> have to wait until tomorrow at least.
> >>
> >>
> >> --
> >> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >> Graham Mayor - Word MVP
> >>
> >> My web site www.gmayor.com > >> Word MVP web site http://word.mvps.org > >> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>
> >>
> >> lewisma wrote:
> >>> OK, i'm getting there with this, upper/lower left i think are fine.
> >>> Here is what upper/lower right currently look like.
> >>>
> >>> Extract ?5 (upper right)
> >>>
> >>> Extract ?5 (lower right)
> >>>
> >>> I need to move the symbols to the right of the number and take out
> >>> the space between the two. Is there any adjustment i can make so i
> >>> can make both lines slighlty longer ?
> >>>
> >>>> If i add a space in the find string after right (upper and lower)
> >>>> it takes away 1 space but there is still one space left to remove,
> >>>> i tried adding 2 spaces at the end of right, but that doesn't
> >>>> change the phrase at all. --
> >>>> lewisma
> >>>>
> >>>>
> >>>> "lewisma" wrote:
> >>>>
> >>>>> Works well, now looks like this
> >>>>>
> >>>>> Extract ? 5
> >>>>>
> >>>>> Extract ?5
> >>>>>
> >>>>> Extract ? 5
> >>>>>
> >>>>> Extract ?5
> >>>>>
> >>>>> Just need to work out how to remove the space for lines 1 and 3
> >>>>> which is upper/bottom right
> >>>>> --
> >>>>> lewisma
> >>>>>
> >>>>>
> >>>>> "Graham Mayor" wrote:
> >>>>>
> >>>>>> Are you sure that's it? > >>>>>>
> >>>>>> Locate the line
> >>>>>> ..Replacement.Font.Size = 14
> >>>>>>
> >>>>>> and add the following immediately after it
> >>>>>>
> >>>>>> Select Case i
> >>>>>> Case 0
> >>>>>> .Replacement.Font.Position = -4
> >>>>>> Case 1
> >>>>>> .Replacement.Font.Position = -4
> >>>>>> Case 2
> >>>>>> .Replacement.Font.Position = 4
> >>>>>> Case 3
> >>>>>> .Replacement.Font.Position = 4
> >>>>>> Case Else
> >>>>>> End Select
> >>>>>>
> >>>>>> This will process each item of the original four in the
> >>>>>> replacement array in order. Any others you have added to the end
> >>>>>> will not be affected.
> >>>>>>
> >>>>>> As for moving the two items closer together add a space in the
> >>>>>> find strings after both occurrences of 'left'
> >>>>>> i.e.. "upper left " and "bottom left "
> >>>>>>
> >>>>>> --
> >>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>>>> Graham Mayor - Word MVP
> >>>>>>
> >>>>>> My web site www.gmayor.com > >>>>>> Word MVP web site http://word.mvps.org > >>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>>>>
> >>>>>>
> >>>>>> lewisma wrote:
> >>>>>>> I know i'm being a pain, this is what it looks like so far.
> >>>>>>>
> >>>>>>> Extract ? 5
> >>>>>>>
> >>>>>>> Extract ? 5
> >>>>>>>
> >>>>>>> Extract ? 5
> >>>>>>>
> >>>>>>> Extract ? 5
> >>>>>>>
> >>>>>>> Is it possible to close the spaces so there is not as much of a
> >>>>>>> gap between the symbol and the number, the top 2 phrases are
> >>>>>>> upper so they that symbol would need to go down 1 line and
> >>>>>>> slighlty across and the bottom 2 are for the lower phrase, looks
> >>>>>>> like that needs to go up 1 line and slighlty across.
> >>>>>>> I want to see of i can align them a bit more accurately.
> >>>>>>>
> >>>>>>> Thanks
> >>>>>>>
> >>>>>>>> You are welcome > >>>>>>>>
> >>>>>>>> --
> >>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>>>>>> Graham Mayor - Word MVP
> >>>>>>>>
> >>>>>>>> My web site www.gmayor.com > >>>>>>>> Word MVP web site http://word.mvps.org > >>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> lewisma wrote:
> >>>>>>>>> Graham
> >>>>>>>>>
> >>>>>>>>> Fantastic, your a genius, works like a charm, many many thanks
> >>>>>>>>> for your help with this, it would have taken me forever to
> >>>>>>>>> figure this all out.
> >>>>>>>>>
> >>>>>>>>>> The phrases and their replacements are configured in the two
> >>>>>>>>>> arrays
> >>>>>>>>>>
> >>>>>>>>>> vFindText = Array("upper left", "upper right", "lower left",
> >>>>>>>>>> "lower right") vReplText = Array(ChrW(9496), ChrW(9492),
> >>>>>>>>>> ChrW(9488), ChrW(9484))
> >>>>>>>>>>
> >>>>>>>>>> The order in the first list corresponds with the order in the
> >>>>>>>>>> second list, with each item separated by a comma. You can use
> >>>>>>>>>> plain text or character strings. If you use the former you
> >>>>>>>>>> would surround the text with straight quotes as shown in the
> >>>>>>>>>> first line. In the second line I have used the unicode
> >>>>>>>>>> numbers for the characters in the extended character set of
> >>>>>>>>>> the Arial font.
> >>>>>>>>>>
> >>>>>>>>>> If you are looking up suitable characters use the Insert
> >>>>>>>>>> Symbol command and browse through those available. Character
> >>>>>>>>>> 265B might be suitable. Having chosen the character note the
> >>>>>>>>>> HEX number - here 265B, which you need to convert to its
> >>>>>>>>>> decimal equivalent. The simplest way to do that is to use
> >>>>>>>>>> the Windows Calculator in its Scientific view. With the Hex
> >>>>>>>>>> button checked, type in 265B, then click the Dec button and
> >>>>>>>>>> if you have done it correctly you would get 9819. So for that
> >>>>>>>>>> character you would enter ChrW(9819).
> >>>>>>>>>>
> >>>>>>>>>> If you want a simple + sign then add "+" to the replace
> >>>>>>>>>> string instead - or if you prefer ChrW(43)
> >>>>>>>>>>
> >>>>>>>>>> --
> >>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>>>>>>>> Graham Mayor - Word MVP
> >>>>>>>>>>
> >>>>>>>>>> My web site www.gmayor.com > >>>>>>>>>> Word MVP web site http://word.mvps.org > >>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> lewisma wrote:
> >>>>>>>>>>> This is fantastic, great job, one last thing if i wanted to
> >>>>>>>>>>> add another phrase in which would be something like
> >>>>>>>>>>> everything or all (this would be for upper right/left and
> >>>>>>>>>>> lower right/left) i think they would require the + symbol
> >>>>>>>>>>> for this to allow for everything, how do i add that into the
> >>>>>>>>>>> current working script
> >>>>>>>>>>>
> >>>>>>>>>>> Many thanks
> >>>>>>>>>>>
> >>>>>>>>>>>> Glad you were able to get there in the end > >>>>>>>>>>>>
> >>>>>>>>>>>> --
> >>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
> >>>>>>>>>>>> Graham Mayor - Word MVP
> >>>>>>>>>>>>
> >>>>>>>>>>>> My web site www.gmayor.com > >>>>>>>>>>>> Word MVP web site http://word.mvps.org > >>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
(Msg. 27) Posted: Wed Aug 20, 2008 3:42 pm
Post subject: Re: Creating a Macro [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
We'll get this right yet
Which line is highlighted when you get the error?
Did you by any chance leave the extra End Sub line in place when you pasted
the code into your macro?
There is a broken line attributable to the e-mail editor line length. Paste
the foillowing in place of yoir original macro and try again. It works fine
here.
Sub ReplaceList()
Dim vFindText As Variant
Dim vReplText As Variant
Dim i As Long
vFindText = Array("(upper right) ([0-9]{1,})", _
"(bottom right) ([0-9]{1,})", "upper left ", _
"upper right", "bottom left ", "bottom right ")
vReplText = Array("\2\1", "\2\1", ChrW(9496), _
ChrW(9492), ChrW(9488), ChrW(9484))
With Selection
.HomeKey wdStory
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchWholeWord = True
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
.Format = True
.MatchCase = False
For i = LBound(vFindText) To UBound(vFindText)
.Text = vFindText(i)
.Replacement.Text = vReplText(i)
.Replacement.Font.name = "Arial"
Select Case i
Case 2
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 3
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 4
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case 5
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case Else
End Select
.Execute Replace:=wdReplaceAll
Next i
End With
End With
End Sub
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
lewisma wrote:
> I'm really sorry, i keep getting a compile error when i try to run
> this.
>
> Compile error: Invalid outside procedure
>
> The Macro is listed below.
>
> Dim vFindText As Variant
> Dim vReplText As Variant
> Dim i As Long
> vFindText = Array("(upper right) ([0-9]{1,})", _
> "(bottom right) ([0-9]{1,})", "upper left ", _
> "upper right", "bottom left ", "bottom right ")
> vReplText = Array("\2\1", "\2\1", ChrW(9496), ChrW(9492), ChrW(9488),
> ChrW(9484))
> With Selection
> .HomeKey wdStory
> With .Find
> .ClearFormatting
> .Replacement.ClearFormatting
> .Forward = True
> .Wrap = wdFindContinue
> .MatchWholeWord = True
> .MatchWildcards = True
> .MatchSoundsLike = False
> .MatchAllWordForms = False
> .Format = True
> .MatchCase = False
> For i = LBound(vFindText) To UBound(vFindText)
> .Text = vFindText(i)
> .Replacement.Text = vReplText(i)
> .Replacement.Font.Name = "Arial"
> Select Case i
> Case 2
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = -4
> Case 3
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = -4
> Case 4
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = 4
> Case 5
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = 4
> Case Else
> End Select
> .Execute Replace:=wdReplaceAll
> Next i
> End With
> End With
> End Sub
>
> Not sure what i'm doing wrong here.
>
>> Your picky dentist isn't paying me for my time to keep recreating
>> this code, because he keeps changing his mind! How much of his
>> expertise does he/she offer for free? >>
>> This took a bit of head scratching and some abortive attempts to do
>> it more simply, but it requires modifications to large sections of
>> the code
>>
>> As you want the numbers transposed, the simplest way is to do that
>> first. I have assumed that all the 'uppers' and 'bottoms' are in
>> lower case as wildcard searches are case sensitive.
>>
>> I do not know what you did with the + sign so I have omitted it. Be
>> careful of the array order, and the consequent case statement
>> numbering if you add extra search sequences.
>>
>> I have broken the Findtext array into three lines to avoid problems
>> with the e-mail system
>>
>> I have changed the font size for the symbols to 16 and moved the
>> font sizing to the case statements.
>>
>> There are no spaces between the symbols and the numbers. The spacing
>> is attributable to the internal spacing in the font. Short of
>> creating your own font (which is possible, but time consuming) there
>> is nothing you can do about the spacing between the numbers and the
>> symbols.
>>
>> Note that the Case statements refer to the order of the items in the
>> array starting with 0.
>>
>> Dim vFindText As Variant
>> Dim vReplText As Variant
>> Dim i As Long
>> vFindText = Array("(upper right) ([0-9]{1,})", _
>> "(bottom right) ([0-9]{1,})", "upper left ", _
>> "upper right", "bottom left ", "bottom right ")
>> vReplText = Array("\2\1", "\2\1", ChrW(9496), ChrW(9492), ChrW(9488),
>> ChrW(9484))
>> With Selection
>> .HomeKey wdStory
>> With .Find
>> .ClearFormatting
>> .Replacement.ClearFormatting
>> .Forward = True
>> .Wrap = wdFindContinue
>> .MatchWholeWord = True
>> .MatchWildcards = True
>> .MatchSoundsLike = False
>> .MatchAllWordForms = False
>> .Format = True
>> .MatchCase = False
>> For i = LBound(vFindText) To UBound(vFindText)
>> .Text = vFindText(i)
>> .Replacement.Text = vReplText(i)
>> .Replacement.Font.name = "Arial"
>> Select Case i
>> Case 2
>> .Replacement.Font.Size = 16
>> .Replacement.Font.Position = -4
>> Case 3
>> .Replacement.Font.Size = 16
>> .Replacement.Font.Position = -4
>> Case 4
>> .Replacement.Font.Size = 16
>> .Replacement.Font.Position = 4
>> Case 5
>> .Replacement.Font.Size = 16
>> .Replacement.Font.Position = 4
>> Case Else
>> End Select
>> .Execute Replace:=wdReplaceAll
>> Next i
>> End With
>> End With
>> End Sub
>>
>>
>> lewisma wrote:
>>> I am really sorry to be a nuisance, the person that requires this is
>>> a little picky, i did work out the i can make the symbols slightly
>>> bigger by increasing the font size.
>>> So for now what i need to do is the first option which is to move
>>> the symbol to the right of the number, this is only needed for
>>> upper/lower right.
>>>
>>> Extract ?5 (upper right) needs to be 5 then the symbol
>>>
>>> Extract ?5 (lower right) needs to be 5 then the symbol
>>>
>>> If possible no spaces between the number and the symbol, i can add a
>>> space if i need to.
>>>
>>>> Let me get this clear - you now want
>>>>
>>>> Extract 5?
>>>> and
>>>> Extract 5?
>>>>
>>>> but
>>>>
>>>> Extract ?5
>>>> and
>>>> Extract ?5
>>>>
>>>> plus, if possible, you want the horizontal part of the symbol
>>>> longer?
>>>>
>>>> The first part should be easy enough, but it will require the
>>>> wildcard option, which means that the searches will be case
>>>> sensitive. So we will probably have to replace Upper with upper and
>>>> Bottom with bottom first - or are they already the same case?
>>>>
>>>> The second part of the problem may not be so simple. It *may* be
>>>> possible to combine two characters e.g
>>>> ??
>>>>
>>>> but then I have the feeling you will tell me that the horizontal is
>>>> too long >>>>
>>>> If you can find the combination of box characters that will work
>>>> for you, I will try and find a way of combining them.... but it
>>>> will have to wait until tomorrow at least.
>>>>
>>>>
>>>> --
>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>> Graham Mayor - Word MVP
>>>>
>>>> My web site www.gmayor.com >>>> Word MVP web site http://word.mvps.org >>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>
>>>>
>>>> lewisma wrote:
>>>>> OK, i'm getting there with this, upper/lower left i think are
>>>>> fine. Here is what upper/lower right currently look like.
>>>>>
>>>>> Extract ?5 (upper right)
>>>>>
>>>>> Extract ?5 (lower right)
>>>>>
>>>>> I need to move the symbols to the right of the number and take out
>>>>> the space between the two. Is there any adjustment i can make so i
>>>>> can make both lines slighlty longer ?
>>>>>
>>>>>> If i add a space in the find string after right (upper and lower)
>>>>>> it takes away 1 space but there is still one space left to
>>>>>> remove, i tried adding 2 spaces at the end of right, but that
>>>>>> doesn't change the phrase at all. --
>>>>>> lewisma
>>>>>>
>>>>>>
>>>>>> "lewisma" wrote:
>>>>>>
>>>>>>> Works well, now looks like this
>>>>>>>
>>>>>>> Extract ? 5
>>>>>>>
>>>>>>> Extract ?5
>>>>>>>
>>>>>>> Extract ? 5
>>>>>>>
>>>>>>> Extract ?5
>>>>>>>
>>>>>>> Just need to work out how to remove the space for lines 1 and 3
>>>>>>> which is upper/bottom right
>>>>>>> --
>>>>>>> lewisma
>>>>>>>
>>>>>>>
>>>>>>> "Graham Mayor" wrote:
>>>>>>>
>>>>>>>> Are you sure that's it? >>>>>>>>
>>>>>>>> Locate the line
>>>>>>>> ..Replacement.Font.Size = 14
>>>>>>>>
>>>>>>>> and add the following immediately after it
>>>>>>>>
>>>>>>>> Select Case i
>>>>>>>> Case 0
>>>>>>>> .Replacement.Font.Position = -4
>>>>>>>> Case 1
>>>>>>>> .Replacement.Font.Position = -4
>>>>>>>> Case 2
>>>>>>>> .Replacement.Font.Position = 4
>>>>>>>> Case 3
>>>>>>>> .Replacement.Font.Position = 4
>>>>>>>> Case Else
>>>>>>>> End Select
>>>>>>>>
>>>>>>>> This will process each item of the original four in the
>>>>>>>> replacement array in order. Any others you have added to the
>>>>>>>> end will not be affected.
>>>>>>>>
>>>>>>>> As for moving the two items closer together add a space in the
>>>>>>>> find strings after both occurrences of 'left'
>>>>>>>> i.e.. "upper left " and "bottom left "
>>>>>>>>
>>>>>>>> --
>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>
>>>>>>>> My web site www.gmayor.com >>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>
>>>>>>>>
>>>>>>>> lewisma wrote:
>>>>>>>>> I know i'm being a pain, this is what it looks like so far.
>>>>>>>>>
>>>>>>>>> Extract ? 5
>>>>>>>>>
>>>>>>>>> Extract ? 5
>>>>>>>>>
>>>>>>>>> Extract ? 5
>>>>>>>>>
>>>>>>>>> Extract ? 5
>>>>>>>>>
>>>>>>>>> Is it possible to close the spaces so there is not as much of
>>>>>>>>> a gap between the symbol and the number, the top 2 phrases are
>>>>>>>>> upper so they that symbol would need to go down 1 line and
>>>>>>>>> slighlty across and the bottom 2 are for the lower phrase,
>>>>>>>>> looks like that needs to go up 1 line and slighlty across.
>>>>>>>>> I want to see of i can align them a bit more accurately.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>>> You are welcome >>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>>>
>>>>>>>>>> My web site www.gmayor.com >>>>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> lewisma wrote:
>>>>>>>>>>> Graham
>>>>>>>>>>>
>>>>>>>>>>> Fantastic, your a genius, works like a charm, many many
>>>>>>>>>>> thanks for your help with this, it would have taken me
>>>>>>>>>>> forever to figure this all out.
>>>>>>>>>>>
>>>>>>>>>>>> The phrases and their replacements are configured in the
>>>>>>>>>>>> two arrays
>>>>>>>>>>>>
>>>>>>>>>>>> vFindText = Array("upper left", "upper right", "lower
>>>>>>>>>>>> left", "lower right") vReplText = Array(ChrW(9496),
>>>>>>>>>>>> ChrW(9492), ChrW(9488), ChrW(9484))
>>>>>>>>>>>>
>>>>>>>>>>>> The order in the first list corresponds with the order in
>>>>>>>>>>>> the second list, with each item separated by a comma. You
>>>>>>>>>>>> can use plain text or character strings. If you use the
>>>>>>>>>>>> former you would surround the text with straight quotes as
>>>>>>>>>>>> shown in the first line. In the second line I have used
>>>>>>>>>>>> the unicode numbers for the characters in the extended
>>>>>>>>>>>> character set of the Arial font.
>>>>>>>>>>>>
>>>>>>>>>>>> If you are looking up suitable characters use the Insert
>>>>>>>>>>>> Symbol command and browse through those available.
>>>>>>>>>>>> Character 265B might be suitable. Having chosen the
>>>>>>>>>>>> character note the HEX number - here 265B, which you need
>>>>>>>>>>>> to convert to its decimal equivalent. The simplest way to
>>>>>>>>>>>> do that is to use the Windows Calculator in its Scientific
>>>>>>>>>>>> view. With the Hex button checked, type in 265B, then
>>>>>>>>>>>> click the Dec button and if you have done it correctly you
>>>>>>>>>>>> would get 9819. So for that character you would enter
>>>>>>>>>>>> ChrW(9819).
>>>>>>>>>>>>
>>>>>>>>>>>> If you want a simple + sign then add "+" to the replace
>>>>>>>>>>>> string instead - or if you prefer ChrW(43)
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>>>>>
>>>>>>>>>>>> My web site www.gmayor.com >>>>>>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> lewisma wrote:
>>>>>>>>>>>>> This is fantastic, great job, one last thing if i wanted
>>>>>>>>>>>>> to add another phrase in which would be something like
>>>>>>>>>>>>> everything or all (this would be for upper right/left and
>>>>>>>>>>>>> lower right/left) i think they would require the + symbol
>>>>>>>>>>>>> for this to allow for everything, how do i add that into
>>>>>>>>>>>>> the current working script
>>>>>>>>>>>>>
>>>>>>>>>>>>> Many thanks
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Glad you were able to get there in the end >>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
>>>>>>>>>>>>>> Graham Mayor - Word MVP
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> My web site www.gmayor.com >>>>>>>>>>>>>> Word MVP web site http://word.mvps.org >>>>>>>>>>>>>> <>>< ><<> ><<> <>>< ><<> <>>< <>><<>
(Msg. 28) Posted: Wed Aug 20, 2008 3:52 pm
Post subject: Re: Creating a Macro [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
While checking I noticed another minor issue relating to the font in the
transposed numbers. The following will fix that too.
Sub ReplaceList()
Dim vFindText As Variant
Dim vReplText As Variant
Dim i As Long
vFindText = Array("(upper right) ([0-9]{1,})", _
"(bottom right) ([0-9]{1,})", "upper left ", _
"upper right", "bottom left ", "bottom right ")
vReplText = Array("\2\1", "\2\1", ChrW(9496), _
ChrW(9492), ChrW(9488), ChrW(9484))
With Selection
.HomeKey wdStory
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindContinue
.MatchWholeWord = True
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
.Format = True
.MatchCase = False
For i = LBound(vFindText) To UBound(vFindText)
.Text = vFindText(i)
.Replacement.Text = vReplText(i)
Select Case i
Case 2
.Replacement.Font.name = "Arial"
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 3
.Replacement.Font.name = "Arial"
.Replacement.Font.Size = 16
.Replacement.Font.Position = -4
Case 4
.Replacement.Font.name = "Arial"
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case 5
.Replacement.Font.name = "Arial"
.Replacement.Font.Size = 16
.Replacement.Font.Position = 4
Case Else
End Select
.Execute Replace:=wdReplaceAll
Next i
End With
End With
End Sub
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
(Msg. 29) Posted: Wed Aug 20, 2008 4:11 pm
Post subject: Re: Creating a Macro [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
This macro will drive me crazy yet
The arrays now introduce an extra space in two of the substitutions .....
aaaaagh!
Graham Mayor wrote:
> While checking I noticed another minor issue relating to the font in
> the transposed numbers. The following will fix that too.
>
> Sub ReplaceList()
> Dim vFindText As Variant
> Dim vReplText As Variant
> Dim i As Long
> vFindText = Array("(upper right) ([0-9]{1,})", _
> "(bottom right) ([0-9]{1,})", "upper left ", _
> "upper right", "bottom left ", "bottom right ")
> vReplText = Array("\2\1", "\2\1", ChrW(9496), _
> ChrW(9492), ChrW(9488), ChrW(9484))
> With Selection
> .HomeKey wdStory
> With .Find
> .ClearFormatting
> .Replacement.ClearFormatting
> .Forward = True
> .Wrap = wdFindContinue
> .MatchWholeWord = True
> .MatchWildcards = True
> .MatchSoundsLike = False
> .MatchAllWordForms = False
> .Format = True
> .MatchCase = False
> For i = LBound(vFindText) To UBound(vFindText)
> .Text = vFindText(i)
> .Replacement.Text = vReplText(i)
> Select Case i
> Case 2
> .Replacement.Font.name = "Arial"
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = -4
> Case 3
> .Replacement.Font.name = "Arial"
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = -4
> Case 4
> .Replacement.Font.name = "Arial"
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = 4
> Case 5
> .Replacement.Font.name = "Arial"
> .Replacement.Font.Size = 16
> .Replacement.Font.Position = 4
> Case Else
> End Select
> .Execute Replace:=wdReplaceAll
> Next i
> End With
> End With
> End Sub
All times are: Eastern Time (US & Canada) (change) Goto page Previous1, 2, 3, 4
Page 4 of 4
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum