range函数用法
【分享成果,随喜正能量】你过得太闲,才有时间执着在无意义的事情上,才有时间无病呻吟所谓痛苦,你看那些忙碌的人,他们的时间都花在努力上。对别人期待太高,本质上是对自身无能的逃避和推托,与其期待别人,不如依靠自己。你不害怕孤独,就不再寄期望于他人陪伴;你有底气解决问题,就不在寄期望于他人向你伸出援手。一个人期待值越低,越容易获得满足,越容易得到快乐,当你不抱期待时,生活反而处处都是惊喜。
《VBA之Word应用》,是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容是第三章“文档集合Documents对象及文档Document对象”第8节:利用Range方法进行字体及对齐方式设置
第八节 利用Range方法进行字体及对齐方式设置
大家好,在上节中,我们讲了Document对象的几个方法,下面我们将利用一个实例来讲解一下Range方法的实际应用。大家要通过这个实例的学习,来巩固一下自己对Document对象方法的认识。
1 实例场景的介绍
在实际的Word操作中,我们经常会用到加粗字体,英文大小写的转换,以及对齐设置的操作,这些也是Word操作的基本功,我们这节中将利用VBA代码来完成这些工作,这个实例中我们会推出一段代码,代码将完成三项工作,首先将当前活动文档的开始10个字符变成粗体,然后将选择区域变成大写,最后将第二至第三段赋值给变量myRange,然后右对齐该区域中的段落。这些代码的中心语句就是Range方法。粗体设置利用的是Bold属性;大小写设置利用的是Case属性;对齐利用的是Alignment属性。
2 利用Range方法进行字体及对齐设置的代码及解读
我们先看看我给出的代码:
Sub mynzG()
'将开始10个字符变成粗体
ActiveDocument.Range(Start:=0, End:=10).Bold = True
'将选择区域变成大写
Dim myRang As Range
Set myRang = ActiveDocument.Range(Start:=Selection.Start, End:=Selection.End)
myRang.Case = wdUpperCase
'将第二至第三段创建并设置变量myRange,然后右对齐该区域中的段落。
Dim myDoc As Document
Dim myRange As Range
Set myDoc = ActiveDocument
If myDoc.Paragraphs.Count >= 6 Then
Set myRange = myDoc.Range(myDoc.Paragraphs(2).Range.Start, _
myDoc.Paragraphs(3).Range.End)
myRange.Paragraphs.Alignment = wdAlignParagraphRight
End If
End Sub
代码截图:
代码的讲解:
1) '将开始10个字符变成粗体
ActiveDocument.Range(Start:=0, End:=10).Bold = True 这句代码是设置了开始是从0字符开始,结尾是第10个字符,然后将range区域的Bold属性设置为True,表示设置成粗体。
2)'将选择区域变成大写
Dim myRang As Range
Set myRang = ActiveDocument.Range(Start:=Selection.Start, End:=Selection.End)
myRang.Case = wdUpperCase
以上这段代码设置了一个变量,并将ActiveDocument.Range(Start:=Selection.Start, End:=Selection.End)赋值给这个变量。其中Start:=Selection.Start, End:=Selection.End设置了选择区域的开始于结束位置。
wdUpperCase是设置为大写,这个常量是WdCharacterCase的枚举值,这个值如下:
wdFullWidth 7 全角,用于日文字符。
wdHalfWidth 6 半角,用于日文字符。
wdHiragana 9 平假名字符,与日文文字一起使用。
wdKatakana 8 片假名字符,与日文文字一起使用
wdLowerCase 0 小写
wdNextCase -1 在大写、小写和句首字母大写之间切换。
wdTitleSentence 4 句首字母大写。
wdTitleWord 2 标题字大写。
wdToggleCase 5 在大写和小写之间切换。
wdUpperCase 1 大写.
3)'将第二至第三段创建并设置变量myRange,然后右对齐该区域中的段落。
Set myDoc = ActiveDocument
If myDoc.Paragraphs.Count >= 6 Then
Set myRange = myDoc.Range(myDoc.Paragraphs(2).Range.Start, _
myDoc.Paragraphs(3).Range.End)
myRange.Paragraphs.Alignment = wdAlignParagraphRight
End If
以上代码设置一个变量并给这个变量赋值为当前活动文档,然后判断一下这个文档中的段落是否大于6,如果是,那么将设置myRange对象为第二段和第三段,并这是成右对齐。
右对齐是常量wdAlignParagraphRight,这个值是WdParagraphAlignment的枚举值.如下:
wdAlignParagraphCenter 1 居中
wdAlignParagraphDistribute 4 段落字符被分布排列,以填满整个段落宽度。wdAlignParagraphJustify 3 完全两端对齐。
wdAlignParagraphJustifyHi 7 两端对齐,字符高度压缩。
wdAlignParagraphJustifyLow 8 两端对齐,字符轻微压缩。
wdAlignParagraphJustifyMed 5 两端对齐,字符中度压缩。
wdAlignParagraphLeft 0 左对齐。
wdAlignParagraphRight 2 右对齐。
wdAlignParagraphThaiJustify 9 按照泰语格式布局两端对齐。
3 利用Range方法进行字体及对齐设置代码的运行效果
下面我们看看代码的运行效果,下图为代码运行前的当前文档:
运行后:
由此我们看到了,三项要求均达到了场景需求。
今日内容回向:
1 如何利用文档对象的range方法设置字体的粗细、大小写及段落的对齐?
2 上述WdCharacterCase的枚举值和WdParagraphAlignment 常量的枚举值有哪些,意义是什么?
本讲内容参考程序文件:Doc 003文档.docm
- 我根据自己多年VBA实际利用经验,推出了八部VBA专门教程。第1套教程:VBA代码解决方案 ;第2套教程:VBA数据库解决方案;第3套教程:VBA数组与字典解决方案;第4套教程:VBA代码解决方案之视频(第一套的视频讲解);第5套教程:VBA中类的解读和利用;第6套教程:VBA信息获取与处理;第7套教程:VBA之EXCEL应用;第8套教程:VBA之Word应用(最新)。上述教程的学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5 ② 7→8
- 第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识点,提供的程序文件更是一座不可多得的代码宝库,是初学及中级人员必备教程;目前这套教程提供的版本是修订第二版,程序文件通过32位和64位两种OFFICE系统测试。
- 第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,适合中级人员的学习。目前这套教程提供的是修订第一版教程,程序文件通过32位和64位两种OFFICE系统测试。
- 第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习,是初级及中级人员代码精进的手段。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
- 第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。这套教程是第一套教程(修订一版)的视频讲解,视频更易接受。
- 第五套:VBA中类的解读和利用 这是一部高级教程,讲解类的虚无与肉身的度化,类的利用虽然较少,但仔细的学习可以促进自己VBA理论的提高。这套教程的领会主要是读者的领悟了,领悟一种佛学的哲理。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。
- 第六套教程:VBA信息获取与处理,这是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。
- 第七套教程:VBA之EXCEL应用 这是一部初级教程这部教程共三册,从从创建宏、对话框、工作簿和工作表对象、单元格对象等基础内容讲起,到循环结构、错误处理、字符串操作、日期和时间、事件、数组应用,函数过程等方面,一直讲解到控件和窗体对象的应用都是我们提高自己EXCEL水平的必须。
- 第八套教程:VBA之WORD应用 是围绕“面向对象编程”展开的讲解,让大家充分认识Word中VBA的对象,以及对象的属性、方法及利用。教程共分三册,十六章,其中前十五章是各种对象属性、方法的讲解,每节都有专门的实例说明这些属性方法的具体应用,最后一章是结和具体应用场景的讲解,详细讲解了二十八个实际工作中有代表性的实例,紧扣word数据的批量处理,发挥VBA的长处。本套教程实例众多,大家可以拿来即用,或者修正后加以利用。由于这套教程是围绕“面向对象编程”来展开,建议大家先学《VBA之Excel应用》,对VBA中的对象、属性、方法、事件有一定认识后再来学习这套教程。