VBA WORD:想要获取标签之间的文本
我想提取介于两者之间的文本
"<start=" and ">"
并使该文本全部大写,并将该特定文本上的所有空格替换为连字符。
例子:
<start="The quick brown fox jumps' over the lazy dog while the cat is running-towards the obstacle_course">The quick brown fox jumps' over the lazy dog while the cat is running-towards the obstacle_course</end>
输出必须是:
<start="THE-QUICK-BROWN-FOX JUMPS'-OVER-THE-LAZY-DOG-WHILE-THE-CAT-IS-RUNNING-TOWARDS-THE OBSTACLE_COURSE">The quick brown fox jumps' over the lazy dog while the cat is running-towards the obstacle_course</end>
我使用了以下代码,但最多只能使用 10 个字(如果可能没有限制)。是否/是否有可能/其他方式来做到这一点。
With Selection.Find
.ClearFormatting
.MatchWildcards = True
.Replacement.ClearFormatting
.Text = "<start=" & Chr(34) & xVal & "( )" & xVal & "( )" & xVal & "( )" & xVal & "( )" & xVal
.Replacement.Text = "<start=" & Chr(34) & "\1-\3-\5-\7-\9"
.Replacement.Font.AllCaps = True
.Forward = True
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End with
TIA-瑟克
如果您确定要查找的每个实例都以="和>开头和结尾,那么您可以使用此代码。您必须先选择一些包含您要查找的内容的文本。
Private Sub FindStartText()
Dim findRange As range
Set findRange = Selection.range
With findRange.Find
.ClearFormatting
.MatchWildcards = True
.Text = "=""*\>"
End With
findRange.Find.Execute
TextChange findRange
End Sub
Private Sub TextChange(foundRange As range)
Dim myText As String
myText = foundRange.Text
myText = Replace(myText, " ", "-")
myText = UCase(myText)
foundRange.Text = myText
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句