Fla*_*ash 2 vba ms-word word-vba
我可以使用以下方法在选择之前和之后插入文本:
Selection.InsertBefore "start"
Selection.InsertAfter "end"
Run Code Online (Sandbox Code Playgroud)
但我无法控制插入文本的样式.如何将新插入的文本设置为特定样式(并保留原始选定文本)?
下面是两个单独的代码来处理Insert After和Insert Before.插入文本后,根据插入的位置,您必须选择插入的文本,然后更改样式.
Sub InsertAfter()
Dim wrd As String
Dim rng As Range
wrd = "End"
Set rng = Selection.Range
rng.InsertAfter wrd
'~~> Remove selection. This will move the cursor at end of selected word
Selection.MoveRight Unit:=wdCharacter, Count:=1
'~~> Select the inserted word
Selection.MoveRight Unit:=wdCharacter, Count:=Len(wrd), Extend:=wdExtend
'~~> Change Style
Selection.Style = ActiveDocument.Styles("List Paragraph")
End Sub
Sub InsertBefore()
Dim wrd As String
Dim rng As Range
wrd = "Start"
Set rng = Selection.Range
rng.InsertBefore wrd
'~~> Remove selection. This will move the cursor at begining of inserted word
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'~~> Select the inserted word
Selection.MoveRight Unit:=wdCharacter, Count:=Len(wrd), Extend:=wdExtend
'~~> Change Style
Selection.Style = ActiveDocument.Styles("List Paragraph")
End Sub
Run Code Online (Sandbox Code Playgroud)