VBA代码来粗体显示在文本框中select的所有数字?

我有代码来改变选定的文字的字体Arial和大小10,这很简单:

Sub Arial10() With Selection.ShapeRange.TextFrame2.TextRange.Font .name = "Arial" .Size = 10 End With End Sub 

如何添加到此macros以在此select内以粗体显示任何数字和破折号(“ – ”)?

这里去…

 Sub Arial10() With Selection.ShapeRange.TextFrame2.TextRange.Font .Name = "Arial" .Size = 10 End With '-----BOLD all numbers and dashes----- With Selection.ShapeRange.TextFrame2.TextRange Dim i As Long For i = 1 To Len(.Text) If Mid(.Text, i, 1) Like "#" Or _ Mid(.Text, i, 1) = "-" Then .Characters(i, 1).Font.Bold = True End If Next End With End Sub 

另取:

 Sub Arial10andBoldStuff() Dim shp As ShapeRange Dim i As Long Dim Char As Object Set shp = Selection.ShapeRange With shp.TextFrame2.TextRange With .Font .Name = "Arial" .Size = 10 End With For i = 1 To .Characters.Count Set Char = .Characters(i, 1) If IsNumeric(Char) Or Char = "-" Then Char.Font.Bold = True End If Next i End With End Sub 

将形状设置为variables有助于获取智能感知。