在选择之前和之后插入文本并设置新文本的样式 [英] Insert text before and after selection and set style of new text

查看:133
本文介绍了在选择之前和之后插入文本并设置新文本的样式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以使用以下方法在选择之前和之后插入文本:

I can insert text before and after the selection using:

Selection.InsertBefore "start"
Selection.InsertAfter "end"

但是我无法控制所插入文本的样式.如何将新插入的文本设置为特定样式(并保持原始选定文本不变)?

But I have no control over the style of the inserted text. How can I set the new, inserted text to a specific style (and leave the original selected text as it is)?

推荐答案

下面是两个单独的代码,用于处理在此之后插入"和在之前插入".插入文本后,根据插入位置的不同,必须选择插入的文本,然后更改样式.

Below are two separate code to handle Insert After and Insert Before. Once you insert the text then depending on where is it inserted you have to select the inserted text and then change the style.

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

这篇关于在选择之前和之后插入文本并设置新文本的样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆