VBA之Word应用:利用Range方法进行字体及对齐方式设置

《VBA之Word应用》(版权10178982),是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕"面向对象编程"讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。

这套教程是专门针对WORD VBA 的教程,是VBA中的稀缺资源,我给这套教程分归为中级教程,希望大家在VBA入门后再学习这套教程,这样会更加深入的理解面向对象编程的意义。

本套教程共三册十六章,今日内容为:VBA之Word应用第三章第八节:利用Range方法进行字体及对齐方式设置

分享成果,随喜正能量】106 好的习惯,排名第一的是:自律;排名第二的是:终身学习;排名第三的是:保持运动。拥有这三种习惯,美好人生垂手可得。。

第三章 文档集合Documents对象及文档Document对象

大家好,我们继续Word VBA的讲解。这讲开始,我们进入非常重要一章的学习,文档集合Documents对象及文档Document对象。在前面的讲解中我们可以大概看出文档和文档集合在Word VBA中的作用,很多的对象都是文档对象属性的返回对象,我们通过这章的学习要掌握Word VBA的基本应用。

第八节 利用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

我20多年的VBA实践经验,全部浓缩在下面的各个教程及应用工具中:

相关推荐
幼安22911 分钟前
第一章-语言基础\3.STL
开发语言·c++
264玫瑰资源库1 小时前
网狐飞云娱乐三端源码深度实测:组件结构拆解与部署Bug复盘指南(附代码分析)
java·开发语言·前端·bug·娱乐
济南壹软网络科技-专注源码开发数十年!1 小时前
盲盒源码_盲盒系统_盲盒定制开发 盲盒搭建前端教程
开发语言·前端·uni-app·php
Kai-爱记录1 小时前
C#中读取文件夹(包含固定字样文件名)
开发语言·c#
martian6652 小时前
信创操作系统基础:Linux Shell脚本编写指南(替代Windows批处理脚本)
开发语言·科技·系统架构·系统安全·创业创新
代码程序猿RIP2 小时前
【C语言干货】野指针
c语言·开发语言·数据结构·c++·算法
撸码到无法自拔2 小时前
android Kotlin ,internal class , data class, class的区别
android·java·开发语言·kotlin
XuX033 小时前
MATLAB制作折线图:从入门到精通(上)
开发语言·matlab
黎相思3 小时前
C++高性能内存池
开发语言·c++
菜鸡且互啄693 小时前
el-row el-col
开发语言·javascript·vue.js