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实践经验,全部浓缩在下面的各个教程及应用工具中:

相关推荐
极客先躯41 分钟前
高级java每日一道面试题-2025年3月31日-微服务篇[Nacos篇]-Nacos集群模式下的部署方案有哪些?
java·开发语言·微服务
go_bai43 分钟前
list的常见接口使用
开发语言·c++·经验分享·笔记·list
鑫—萍1 小时前
数据结构与算法——链表OJ题详解(2)
c语言·开发语言·数据结构·学习·算法·链表
大锦终1 小时前
【C++】继承
c语言·开发语言·数据结构·c++
stevenzqzq1 小时前
kotlin扩展函数
android·开发语言·kotlin
Hello姜先森1 小时前
Kotlin日常使用函数记录
android·开发语言·kotlin
FL16238631291 小时前
[python]通过whl文件安装pyheif安装教程和简单使用案例
开发语言·python
发誓要做读书人2 小时前
生物信息Rust-01
开发语言·笔记·rust
努力学习的小廉2 小时前
【C++】 —— 笔试刷题day_14
开发语言·c++
漫步企鹅2 小时前
【GDB】调试程序的基本命令和用法(Qt程序为例)
开发语言·qt·gdb·调试