大家好,今天我们将继续讨论如何实现VBA代码解决方案讲座146: Word文档的信息统计。熟悉Word的朋友们都知道,有关WORD文档的信息统计是打开WORD文档的标准功能。如果选择了一段字符,下面的信息栏将提示您输入选定的字数、段落数等。大卫亚设,《美国电视新闻》)那么,这个功能是如何实现的呢?使用VBA也能实现类似的功能吗?今天的内容应该都能实现这个功能。当然,目的是掌握在WORD中使用循环语句的方法。

老实说,对于OFFICE软件,无论是excel还是word,要实现微软提供的功能中的循环计算,只有两种方法。一个是利用数组,另一个是利用迭代运算。(阿尔伯特爱因斯坦,Northern Exposure)但是这两种方法都有自己的局限性。例如,要受重复次数的影响,根据重复次数的不同,执行结果可能会有所不同,数组本身是excel的难点,如果说夸张,在说数组的句子中,也许你只能在我的这个平台上谈论系统的解说、如何定义、如何利用、如何利用、VBA。如果我们理解VBA的知识点,就可以用VBA解决。

今天说的例子是利用循环计算选定文本的句子数和末尾的标点符号。

Sub mynzsen()

Dim s as range、sen count as integer和mystring as string

Dim EndChar As String,K As Integer

K=0

With Selection

if . type=wd noselection then exit sub

SenCount=。获取“Sen”选项的句子数

For Each s In .‘sentences’句子循环

K=K 1

如果句子的最后一个字符是段落标记,则EndChar是段落标记的前一个字符

If s.Character)=Chr(13) Then

EndChar='[第一个' k '句尾标点符号是' s.Character-1) ']'

Else

EndChar='[第一个' k '句尾标点符号是' s.Character) ']'

End If

使用空格作为分隔符,向变量添加结束标点符号

MyString=MyString'' EndChar

next

End With

MsgBox '选择句子数:' SenCount vbCrLf '结束句子数:' MyString

End Sub

代码屏幕截图:

节目大多数都做了注释,所以我简单解释一下。

上述过程中需要注意的是,对于没有选择和选择的判断,根据Selec的值进行判断。此值可以有多种类型:

WdNoSelection 0No selection。

wdselectionblock 6 a block selection。

wdselectioncolumn 4 a column selection。

wdselectionframe 3a frame selection。

wdselectioninlineshape 7 an inline shape selection。

wd selectionip 1 an inline paragraph selection。

wdselectionnormal 2 a normal or user-defined selection。

WdSelectionRow5A row selection。

选择Wdselectionshape 8a形状。

这里我可以使用wdNoSelection,也可以使用wdSelectionIP,没有任何选择结果,表示对这个词的解释,wdSelectionIP的相应英语解释An inline paragraph selection。目前我还没有看到那种翻译比较合适,但我们的目的是应用。记住就行了。

下面我们来看一下程序的执行情况。

在上面的文档中选择了一些字符,结果:

今天的内容返回:

1 WORD的循环,你明白吗?

2如何计算选择的句子数?

相关推荐