Vba 从字符串中删除段落标记
我有一个宏,可以在我的文档中找到所有的“标题1”样式,并将它们列在用户表单的组合框中 我的问题是,我正在使用的查找例程也在选择我要复制的文本后的段落标记(^),该标记将显示在组合框中 如何从字符串中删除此项?我尝试过使用Vba 从字符串中删除段落标记,vba,ms-word,word-2010,Vba,Ms Word,Word 2010,我有一个宏,可以在我的文档中找到所有的“标题1”样式,并将它们列在用户表单的组合框中 我的问题是,我正在使用的查找例程也在选择我要复制的文本后的段落标记(^),该标记将显示在组合框中 如何从字符串中删除此项?我尝试过使用replace(),vbCrLf,vbCr,vbLf,vbNewLine,^p,v,Chr(244)和Asc(244)替换为,,,但都没有成功。比如说- sanitizedText = Replace(Selection.Text, "^v", "") 有人能帮我解决这个问题吗
replace()
,vbCrLf
,vbCr
,vbLf
,vbNewLine
,^p
,v
,Chr(244)
和Asc(244)
替换为,,,但都没有成功。比如说-
sanitizedText = Replace(Selection.Text, "^v", "")
有人能帮我解决这个问题吗?谢谢
下面是我的表单的外观-
您应该对unicode字符使用ChrW$()
:
sanitizedText = Replace(Selection.Text, ChrW$(244), "")
或者,如果段落标记总是在结尾,您可以使用
myString = Left(myString, Len(myString) - 1)
我成功地使用了sanitizedText=Replace(Selection.Text,Chr(13),”)
13
是“回车”的ASCII值。这个小脚本在文档中选择的一段文本中(即使用光标标记)替换一行开头的连字符。它用一个即兴的要点来代替它们:(o)
脚本将搜索“段落标记后跟连字符”的出现
我遇到了与上述问题类似的问题,因为我确信段落标记应该是'Chr(13)&Chr(10)',这等于'VbCrLF',这等于'carries Return,Line Feed'。然而,“Chr(13)和Chr(10)”是错误的。裸体的Chr(13)完成了这项工作
Sub MakeAppFormListPoints()
'Replace list hyphens by (o)
Dim myRange As Range
Set myRange = Selection.Range 'What has been marked with the cursor
Debug.Print myRange ' Just for monitoring what it does
myRange = replace(myRange, Chr(13) & "-", Chr(13) & "(o)")
Debug.Print myRange ' Just for monitoring what it does
End Sub
(我用它将Word中的文字调整为欧盟Erasmus+计划官方申请表中严格限制的字符集,以促进终身学习活动。好吧,我学到了一些东西。)如果段落标记总是在结尾,也许你可以使用myString=Left删除最后一个字符(myString,Len(myString)-1)试试Chr(182)。@MiguelFebres,你在这里的建议很管用。把它作为答案添加进来,我会很高兴地接受的。@DavidGard完成了,谢谢!正如问题评论中提到的,你在这里的第二个建议对我很管用。谢谢你的帮助。