我是VBA的新手,并且遗漏了一些非常明显但却无法弄清楚它是什么的东西。
我有以下内容来测试文档的第一行是否为Collated Harzard Notes
:
Public Sub testDocRANotes()
Dim rng As Range
Dim i As Integer
Dim str As String
Set rng = Selection.GoTo(What:=wdGoToLine, Which:=wdGoToAbsolute, count:=1)
Selection.Expand wdLine
Debug.Print Selection.Text
str = Selection.Text
If (str = "Collated Hazard Notes") Then
Debug.Print "RA Notes"
Else
Debug.Print "Not RA Notes"
End If
End Sub
当我在带有第一行'Collated Hazard Notes'的文档上运行它时,if返回false并且我无法找出原因。感谢您抽出宝贵时间阅读。
答案 0 :(得分:0)
如果将选择范围扩展为整行,则包含该行末尾的回车符:
Debug.Print Asc(Right(str, 1)) ' >> 13
尝试通过以下方式修剪:
str = Selection.Text
str = Left(str, Len(str) - 1) ' << remove vbCr character
然后,您的测试应该给出预期的结果。