根据特定字符串测试Word文档的第一行

时间:2017-08-22 03:28:06

标签: vba

我是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

当我在带有第一行'Collat​​ed Hazard Notes'的文档上运行它时,if返回false并且我无法找出原因。感谢您抽出宝贵时间阅读。

1 个答案:

答案 0 :(得分:0)

如果将选择范围扩展为整行,则包含该行末尾的回车符:

Debug.Print Asc(Right(str, 1)) ' >> 13

尝试通过以下方式修剪:

str = Selection.Text
str = Left(str, Len(str) - 1) ' << remove vbCr character

然后,您的测试应该给出预期的结果。