×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Setting Style Name in Word MAcro

Setting Style Name in Word MAcro

Setting Style Name in Word MAcro

(OP)
Hi all,

I'm using...

Selection.Style = ActiveDocument.Styles(wdStyleHeading2)

...to set the style of the current paragraph.

The Style Attributes are being set as you would expect (Arial, 14 Pt, Bold, Italic) but the Style Name is not being set.

Style shows as "Normal + Arial, 14 Pt, Bold, Italic" and I'm unable to pick up this heading line in a subsequent Table of Contents build.

How do I force the Style name to be set (in this case to "Heading 2")

Full Code below

Thanks in Anticipation

Sub FormatPitNRequirements()
Dim fd As FileDialog
Dim vrtSelectedFile As Variant
Set fd = Application.FileDialog(msoFileDialogOpen)

With fd
    If .Show = -1 Then
        For Each vrtSelectedFile In .SelectedItems
            Documents.Open (vrtSelectedFile)
            Do
                With Selection.Find
                    .Text = "L?-"
                    .Replacement.Text = ""
                    .Forward = True
                    .MatchCase = False
                End With
                If Selection.Find.Execute(MatchWildcards:=True) Then
                    If Selection.Cells(1).RowIndex > 1 Then
                        Selection.SplitTable
                        Selection.MoveDown Unit:=wdLine, Count:=1
                    End If
                    Selection.MoveDown Unit:=wdLine, Count:=1
                    Selection.SplitTable
                    Selection.MoveUp Unit:=wdLine, Count:=1
                    Selection.Rows.ConvertToText Separator:=wdSeparateByTabs
                    If InStr(Selection.Text, "L1-") Then
                        Selection.Style = ActiveDocument.Styles(wdStyleHeading2)
                        Selection.Text = Replace(Selection.Text, "L1-", "")
                    End If
                    If InStr(Selection.Text, "L2-") Then
                        Selection.Style = ActiveDocument.Styles(wdStyleHeading3)
                        Selection.Text = Replace(Selection.Text, "L2-", "")
                    End If
                    Selection.MoveDown Unit:=wdLine, Count:=1
                Else
                    Exit Do
                End If
            Loop
        Next vrtSelectedFile
    End If
End With

    
End Sub
 

RE: Setting Style Name in Word MAcro

Hi there,

simple:

CODE

Selection.Style = ActiveDocument.Styles("Heading 2")

winky smile

"Knowledge is power. Information is liberating. Education is the premise of progress, in every society, in every family." (Kofi Annan)
Oppose SOPA, PIPA, ACTA; measures to curb freedom of information under whatever name whatsoever.

RE: Setting Style Name in Word MAcro

(OP)
Thanks MakeItSo,

Actually, the problem seemed to be the following statement...

Changed:
   Selection.Style = ActiveDocument.Styles(wdStyleHeading2)
   Selection.Text = Replace(Selection.Text, "L1-", "")

To:
   Selection.Text = Replace(Selection.Text, "L1-", "")
   Selection.Style = ActiveDocument.Styles(wdStyleHeading2)

And the Style Name is no longer being lost.

Don't understand why the the replace text would kill the Style Name, but at least it's working now!

Regards

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close