将新文本添加到内容控件中的现有文本,并在删除线中创建现有文本
Add new text to already existing text in a content control, and make the already existing text in StrikeThrough
我有一个已经包含文本的内容控件。我想添加新的文字,把之前的文字划线,我的代码是这样的
Sub testCCrangeModifier()
Dim CC As ContentControl
For Each CC In ActiveDocument.ContentControls
If CC.Title = "myContentControl" And CC.Tag = "myContentControl" Then
CC.Range.Font.StrikeThrough = True
CC.Range.Text = ("NEWTEXT" & Chr(13) & Chr(10) & CC.Range.Text)
End If
Next CC
End Sub
使用这段代码,结果是:
NEWTEXT
旧文本
结果应该是这样的
宏之前:
旧文本
宏后:
新文本
旧文本
Chr(13) & Chr(10) 是旧文本和新文本之间的换行符
- 您的代码在添加文本之前设置了格式,很明显
您添加的任何文本都将采用该格式。
- 只有富文本内容控件可以包含不同的格式。
下面的代码检查 CC
是富文本内容控件,然后添加文本并从第一段中删除删除线。
Sub testCCrangeModifier()
Dim CC As ContentControl
For Each CC In ActiveDocument.ContentControls
If CC.Title = "myContentControl" And CC.Tag = "myContentControl" And CC.Type = wdContentControlRichText Then
With CC.Range
.Font.StrikeThrough = True
.Text = ("NEWTEXT" & Chr(13) & Chr(10) & CC.Range.Text)
.Paragraphs(1).Range.Font.StrikeThrough = False
End With
End If
Next CC
End Sub
我有一个已经包含文本的内容控件。我想添加新的文字,把之前的文字划线,我的代码是这样的
Sub testCCrangeModifier()
Dim CC As ContentControl
For Each CC In ActiveDocument.ContentControls
If CC.Title = "myContentControl" And CC.Tag = "myContentControl" Then
CC.Range.Font.StrikeThrough = True
CC.Range.Text = ("NEWTEXT" & Chr(13) & Chr(10) & CC.Range.Text)
End If
Next CC
End Sub
使用这段代码,结果是:
NEWTEXT
旧文本
结果应该是这样的
宏之前:
旧文本
宏后:
新文本
旧文本
Chr(13) & Chr(10) 是旧文本和新文本之间的换行符
- 您的代码在添加文本之前设置了格式,很明显 您添加的任何文本都将采用该格式。
- 只有富文本内容控件可以包含不同的格式。
下面的代码检查 CC
是富文本内容控件,然后添加文本并从第一段中删除删除线。
Sub testCCrangeModifier()
Dim CC As ContentControl
For Each CC In ActiveDocument.ContentControls
If CC.Title = "myContentControl" And CC.Tag = "myContentControl" And CC.Type = wdContentControlRichText Then
With CC.Range
.Font.StrikeThrough = True
.Text = ("NEWTEXT" & Chr(13) & Chr(10) & CC.Range.Text)
.Paragraphs(1).Range.Font.StrikeThrough = False
End With
End If
Next CC
End Sub