我想实现插入一问一答的称呼和符号,就是在单数段前面加“称呼1:”,后面加“?”,双数段加“称呼2:”,后面加“。”
比如我有一段文档:
你叫什么
张三
你多大
11岁
通过代码变成:
称呼1:你叫什么?
称呼2:张三。
称呼1:你多大?
称呼2:11岁。
然后经过求助chatGPT,它给我了这样一段代码:
Sub AddPrefix()
If Selection.Range.Paragraphs.Count > 1 Then
Dim i As Integer
For i = 1 To Selection.Range.Paragraphs.Count
If i Mod 2 = 1 Then
Selection.Range.Paragraphs(i).Range.InsertBefore "称呼1:"
Selection.Range.Paragraphs(i).Range.InsertAfter "?"
Else
Selection.Range.Paragraphs(i).Range.InsertBefore "称呼2:"
Selection.Range.Paragraphs(i).Range.InsertAfter "。"
End If
Next i
Else
MsgBox "请选择多个段落。"
End If
End Sub
但经过试验,原文变成了:
称呼1:你叫什么
称呼2:?张三
称呼1:。你多大
称呼2:?11岁。
经过逐语句调试,发现输入符号的时候直接输入到下一行的句首,然后再在句首输入称呼
因为对VBS一窍不通,请大佬解答
比如我有一段文档:
你叫什么
张三
你多大
11岁
通过代码变成:
称呼1:你叫什么?
称呼2:张三。
称呼1:你多大?
称呼2:11岁。
然后经过求助chatGPT,它给我了这样一段代码:
Sub AddPrefix()
If Selection.Range.Paragraphs.Count > 1 Then
Dim i As Integer
For i = 1 To Selection.Range.Paragraphs.Count
If i Mod 2 = 1 Then
Selection.Range.Paragraphs(i).Range.InsertBefore "称呼1:"
Selection.Range.Paragraphs(i).Range.InsertAfter "?"
Else
Selection.Range.Paragraphs(i).Range.InsertBefore "称呼2:"
Selection.Range.Paragraphs(i).Range.InsertAfter "。"
End If
Next i
Else
MsgBox "请选择多个段落。"
End If
End Sub
但经过试验,原文变成了:
称呼1:你叫什么
称呼2:?张三
称呼1:。你多大
称呼2:?11岁。
经过逐语句调试,发现输入符号的时候直接输入到下一行的句首,然后再在句首输入称呼
因为对VBS一窍不通,请大佬解答