![]() |
|
#1
|
|||
|
|||
|
In the document, all lines are in "Heading" style
Sample question .docx Sample question.jpg I am looking for a single click to split my selection into heading number, and put the "heading text" into next line. After that, remain the "heading number" in "Heading" style and change the 'heading text" to "Normal" Style. Final outcome as below, Many thanks!!! Sample (Final Outcome).docx |
|
#2
|
||||
|
||||
|
The following should work, based on your example:
Code:
Sub Macro1()
Dim oRng As Range
Dim oPara As Paragraph
Dim i As Integer
If Len(Selection.Range) = 0 Then
MsgBox "Nothing selected", vbCritical
Exit Sub
End If
For i = Selection.Paragraphs.Count To 1 Step -1
Set oPara = ActiveDocument.Paragraphs(i)
If oPara.Range.Style Like "Heading #" Then
Set oRng = oPara.Range
oRng.Collapse 0
oRng.MoveEndUntil Chr(9)
oRng.End = oRng.End + 1
oRng.Collapse 0
oRng.Text = vbCr
Set oRng = oRng.Next.Paragraphs(1).Range
oRng.Style = "Normal"
End If
Next i
lbl_Exit:
Set oPara = Nothing
Set oRng = Nothing
Exit Sub
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
#3
|
|||
|
|||
|
Thank you for the reply, however I still have some question when using your code.
When I select "7.23.7.7" and then run your code. Sample question2.jpg The effect was made on "7.11.7" Sample question3.jpg
|
|
#4
|
||||
|
||||
|
OK, try the following instead
Code:
Sub Macro1()
Dim oRng As Range
Dim oPara As Paragraph
If Len(Selection.Range) = 0 Then
MsgBox "Nothing selected", vbCritical
Exit Sub
End If
For Each oPara In Selection.Paragraphs
If oPara.Range.Style Like "Heading #" Then
Set oRng = oPara.Range
oRng.Collapse 1
oRng.MoveEndUntil Chr(9)
oRng.End = oRng.End + 1
oRng.Collapse 0
oRng.Text = vbCr
Set oRng = oRng.Next.Paragraphs(1).Range
oRng.Style = "Normal"
End If
Next oPara
lbl_Exit:
Set oPara = Nothing
Set oRng = Nothing
Exit Sub
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Inserting heading number AFTER heading text | Aunt Pauline | Word | 1 | 08-29-2019 03:24 PM |
Mail Merge - split merged documents and rename each split document based on text in header
|
FuriousD | Word VBA | 1 | 05-12-2019 04:06 AM |
How to add space between heading number and heading text
|
Dr Wu | Word | 4 | 07-15-2018 03:52 AM |
xref to heading 5.1 stubbornly displays 0 as heading number
|
eNGiNe | Word | 4 | 06-17-2018 11:05 PM |
| Control the size of space between heading number and heading text | Dr Wu | Word | 1 | 07-17-2013 12:24 PM |