我想计算MS word文档中所选文本的行数。我想出了代码:
Sub Count_Lines()
ActiveDocument.ComputeStatistics (wdStatisticLines)
MsgBox ("The document contains " & NumLines & " Lines")
End sub
但它实际上算了整个文档的行。
任何人都可以帮忙,找到只能计算选定行数的代码吗?
答案 0 :(得分:1)
只需使用Selection.Range
对象而不是ActiveDocument
Sub Count_Lines()
MsgBox ("The selection contains " & Selection.Range.ComputeStatistics(wdStatisticLines) & " Lines")
End Sub
答案 1 :(得分:1)
您的代码打算在消息框中显示NumLines
的值。但是,没有为该变量赋值。实际上变量本身也没有被声明。下面的代码填补了这两个缺点,然后工作得很好。但是,它会计算文档中的所有行。如果您只是想要选择的行使用下面提供的解决方案。
Option Explicit
Sub Count_Lines()
Dim NumLines As Long
NumLines = ActiveDocument.ComputeStatistics(wdStatisticLines)
MsgBox ("The document contains " & NumLines & " Lines")
End Sub
NB。他们说,Option Explicit
"强迫"你要声明迫使反应抵抗的变量。比较那些坚持你在道路右侧行驶的交警的力量。使用Option Explicit
不会延长你的生命,但它会大大减少你花在追逐愚蠢错误上的时间,因为你太骄傲了,不能让你的计算机指出它们。 Option Explicit
是一个工具,它为我提供了一个指向你在这里寻求帮助的问题根源的直接指针。