word的用户信息(文档表格 *** )
【分享成果word的用户信息,随喜正能量】人这一辈子word的用户信息,不管什么样子,都不要抱怨,责怪他人,心大了,事就小了;心宽了,烦就没了。
《VBA之Word应用》,是word的用户信息我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、 *** ,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容是第五章“Word中的Range对象(上)”第7节:Word文档中范围的信息统计。
第七节 Range对象的 *** (一)大家好,我们继续Range对象的讲解,从这节开始,我们讲解Range对象的 *** 。对于对象而言,属性和 *** 是密不可分的,掌握属性后就要掌握 *** 了,当然,在实际应用中,两者也是通用的,实现一个目的也往往有多种实现的途经。
1 Range.ComputeStatistics ***这个 *** 返回一个Long , 该值代表基于指定范围内容的统计信息。
语法:expression.ComputeStatistics(Statistic)
其中expression 是必需的,是一个代表 Range 对象的变量。
参数:Statistic 必需 WdStatistic 要计算的统计值的类型。
WdStatistic是指要从选定内容或项目返回的统计信息。
1)wdStatisticCharacters 3 字符数。
2)wdStatisticCharactersWithSpaces 5 包括空格在内的字符数。
3)wdStatisticFarEastCharacters 6 亚洲语言字符数。
4)wdStatisticLines 1 行数。
5)wdStatisticPages 2 页数。
6)wdStatisticParagraphs 4 段落数。
7)wdStatisticWords 0 单词数。
由于您选择或安装的语言支持不同(例如美国英语),上述部分常量可能无法使用。2 Range.Delete ***此 *** 删除指定数量的字符或单词。
语法:expression.Delete(Unit, Count)
其中expression 是必需的,是一个代表 Range 对象的变量。
参数:
1) Unit 可选 Variant 要删除范围的单位。可以是WdUnits常量之一。
2) Count 可选 Variant 要删除的单位数。要删除该区域后的单位,请折叠该区域并使用一个正值。要删除该区域前的单位,请折叠该区域并使用一个负值。
此 *** 返回一个Long值,指示删除的项目数,如果删除不成功,则返回0(零)。WdUnits 的枚举值:
wdCell 12 单元格
wdCharacter 1 字符.
wdCharacterFormatting 13 字符格式
wdColumn 9 列
wdItem 16 所选项
wdLine 5 一个线段
wdParagraph 4 段落
wdParagraphFormatting 14 段落格式
wdRow 10 行
wdScreen 7 屏幕尺寸
wdSection 8 一节
wdSentence 3 句子
wdStory 6 部分
wdTable 15 一个表格
wdWindow 11 窗口
wdWord 2 字
3 Range.EndOf ***该 *** 将区域的结束字符位置移动或扩展到最近的一个指定文本单位末尾。
语法:expression. EndOf(Unit,Extend)
其中expression 是必需的,是一个代表 Range 对象的变量。
参数:
1)Unit 可选 Variant 结束字符位置移至的单元。可以是任何WdUnits,但wdLine除外。默认值是 wdWord 。
2)Extend 必需 WdMovementType 指定是移动还是扩展区域的末尾。如果值为 wdMove,则区域和选定内容对象的结尾都移到指定单位的末尾。如果使用了wdExtend,则该区域或所选内容的末尾被扩展到指定单位的末尾。默认值为 wdMove 。
4 实例:Range范围的信息统计及范围的调整下面我们通过一个实例,给大家讲解一下上述 *** 的具体应用,在这个应用中我们会学习到Range范围信息的统计及范围的修正,我们先看下面的代码:
Sub mynzF()
[代码见教程]
End Sub
代码截图:
代码的解读:
1) Set myRange = ActiveDocument.Paragraphs(1).Range
'显示第一段的字数,字符数,行数
wordCount = myRange.ComputeStatistics(Statistic:=wdStatisticWords)
charCount = myRange.ComputeStatistics(Statistic:=wdStatisticCharacters)
linCount = myRange.ComputeStatistics(Statistic:=wdStatisticLines)
MsgBox "当前文档第一段的字数:" & wordCount _
& "; 当前文档第一段的字符数:" & charCount & "; 当前文档第一段的行数:" & linCount
以上代码首先将第一个段落赋给myRange变量,然后利用三个变量分别取得这个变量的字数,字符数,和行数,最后用对话框提示给用户。
2) Set myRange = ActiveDocument.Range(0, 0)
myRange.Select
k = Selection.EndOf(Unit:=wdParagraph, Extend:=wdExtend)
以上代码再次设置myRange变量,然后用.EndOf *** 扩展到整个段落的结尾。
3)ActiveDocument.Paragraphs.Add
Set myTable = ActiveDocument.Tables.Add(Range:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range, _
NumRows:=3, NumColumns:=3, DefaultTableBehavior:=wdWord9TableBehavior)
myTable.Cell(1, 3).Select
Selection.EndOf Unit:=wdColumn, Extend:=wdExtend
以上代码首先添加一个新的段落,然后在这个段落中插入表格,并选择第三行第一列的单元格,最后将这个单元格扩展都整列。
4)ActiveDocument.Content.Select
Selection.Delete
以上代码将选择整个文档,然后删除。
下面我们看程序的运行效果:
今日内容回向:
1 Word中Range对象的ComputeStatistics *** 、Delete *** 、EndOf *** 的意义是什么?
2 如何实现信息的统计及范围的调整?
本讲内容参考程序文件:Doc 005文档.docm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】没有谁的幸运,凭空而来,只有当你足够努力,你才会足够幸运,这世界不会辜负每一份努力和坚持。。