word运用宏
- 格式:doc
- 大小:542.00 KB
- 文档页数:34
1.word宏的运用
2008-06-10 16:08
“宏”是word中多个操作指令的集合,类似于批处理,可以说是将几个步骤连接在一起,通过宏按钮来一步完成。
玩过街机模拟器的人肯定有体会,在格斗游戏中,用模拟器来录制宏,以实现一键放绝招。
(点击查看更多软件使用技巧)
1.打开Word,首先要建立宏,Word中有两种方法,分别是“录制宏”和“VB 编程宏”。
由于“VB编程宏”需要一定的VB基础,我们就不提了。
就说“录制宏”,打开Word,在菜单栏中点工具-宏-录制新宏(见下图)。
图1
2.在出现的对话框中,有两个按钮,分别是“工具栏”和“键盘”。
点击“键盘”
图2
图3
图4
3.以插入日期与时间为例子。
在上图出现录制宏工具栏后,(我们进行宏所含步骤的操作)我们照常在菜单栏点插入-日期与时间。
图5
选择一个时间,然后点确定。
接着点工具-宏-停止录制。
宏录制完毕,以后每次要插入时间,直接按快捷键“Ctrl+7”就行了。
图6
4.上述快捷键操作宏以外,我们还可以制作宏按钮.我们在步骤2出现的对话框中点“工具栏”,在出现的“自定义”对话框中选择“命令”标签,将右侧“命令”下的宏按钮拖到工具栏或菜单栏。
(然后录制宏,我们同样以插入日期和时间为例子),我们依次点插入-日期与时间,选择一个时间,然后点确定。
接着点工具-宏-停止录制。
图7
如果你的宏已经用快捷键键方式录制好了,你想换成按钮,则点工具-自定义,选择“命令”标签,在左边“类别”下面点击“宏”,将右侧“命令”下的宏拖置菜单栏或工具栏即可。
图8
5.已经创立的宏按钮可以重命名和更改图标,点击工具-自定义,然后右击拖到菜单栏的宏按钮,即可出现编辑菜单。
图9
6.你要删除宏,点击工具-宏-宏,在出现的对话框中,选择想要删除的宏,点击删除即可。
对于宏按钮,按住Alt键将宏按钮拖出菜单栏或工具栏即可。
2.使用WORD宏使工作简单
2009-08-25 12:20
作者:宋志明
【IT168 实用技巧】每次统一考试之前,各位老师都会将自己试卷的Word 电子稿交到我们办公室以便统一印刷。
但每次我们都会发现,不少老师的试卷格式并没有按照要求使用八开页面、横排、分两栏,而且页面边距的设置也五花八门,很不统一。
为此我们必须对这些试卷重新进行设置,造成很大麻烦。
现在,我们在Word 2007中设定一个“统一试卷格式”按钮,只要点击一下,就可以完成页面的设置工作,非常简单。
如果你也会遇到类似问题,那么不妨也照此办理。
一、定制按纽
首先新建一个Word文件,点击左上角“Office按钮”,在弹出菜单中点击右下角“Word选项”按钮,在打开的对话框中选中“在功能区显示“开发工具”选项卡”复选项。
关闭对话框后,在功能区会新添加“开发工具”选项卡。
单击“开发工具”选项卡“代码”功能组“录制宏”按钮,在打开的“录制宏”对话框中,单击“将宏指定到”项目中“按钮”按钮,如图1所示。
图1
此时会打开“Word选项”对话框,在中间列表中会出现
“Normal.NewMacros.宏1”项目。
选中它后,点击中间的“添加”按钮将其添加到右侧的“自定义快速访问工具栏”列表中。
选中新添加的这个项目,点击列表下方的“修改”按钮,如图2所示。
图2
在打开的“修改按钮”对话框中,将下方“显示名称”输入框中“Normal.NewMacros.宏1”修改为“统一试卷格式”,并在上方列表中选择一种按钮样式,如图3所示。
关闭对话框后,在Word窗口左上角“自定义快速访问工具栏”中就会有我们新添加了这个按钮了。
图3
二、录制宏
上面工作做完后,Word自动进入录制宏状态。
点击功能区“页面布局”选项卡“页面设置”功能组右下角的对话框启动器,打开“页面设置”对话框。
点击对话框中“纸张”选项卡,在纸张“宽度”和“高度”输入框中分别输入“36.8”和“26”厘米。
在“页边距”选项卡中设置“上”、“下”、“右”边距均为“2厘米”,将“左”边距设置为“4厘米”,将“纸张方向”选中为“横向”,如图4所示。
在“文档网格”选项卡中设置“栏数”为“2”。
设置完成后点击确定按钮关闭对话框。
图4
现在点击功能区“开发工具”选项卡“代码”功能组“停止录制”按钮,结束宏的录制。
好了,现在随便打开某个文档,点击自定义快速访问工具栏上的“统一试卷格式”按钮,该文档的页面就会自动转成我们预设的格式了。
3.Word宏命令巧妙应用一例
2009年11月02日星期一 19:04
由于工作和学习的需要,笔者经常在网上阅读大量的信息,但由于网上的文字格式不一,所以笔者喜欢将它保存下来,并且用Word打开,精心设置其字体与背景後再阅读。
可这样每次阅读都需重新设置一番,挺麻烦的。
不久前看到了Word 里的宏命令,仔细研究後发现,它可以帮我的大忙呢。
只需进行如下设置,以後这样的事情一个按钮就可以搞定。
1. 任意打开一篇文挡,用鼠标任选一段文字。
2. 执行“工具→宏→录制新宏”命令,打开如图1所示对话框。
3. 在“录制宏”对话框的“宏名”文本框中输入宏的名称“读前设置”,在“将宏保存在”下拉列表框中选择“所有文档(normal.dot)”,然後单击〔工具栏〕按钮,打开图2所示“自定义”对话框。
4. 在“自定义”对话框中选择“命令”选项卡,在“命令”列表框中将显示输入的宏名。
在该名称上按下鼠标左键将其拖到“常用”工具栏上,这样工具栏上就多了一个〔读前设置〕按钮了。
5. 单击〔关闭〕进入宏的录制过程。
此时,“停止”浮动工具栏将出现在屏幕上,此工具栏上有两个按钮,左边是〔停止〕,右边是〔暂停〕(如图3)。
6. 执行“格式→字体”命令,在打开的“字体”对话框中选择“字体”选项卡,在对话框的“中文字体”下拉列表中选择“宋体”,在“字形”下拉列表中选择“常规”,在“字号”下拉列表中选择“小四”,在“字体颜色”下拉列表中选择“灰度-80%”,单击〔确定〕。
7. 执行“格式→背景→其他颜色”命令,在打开的“颜色”框中选择一种很浅的灰色,单击〔确定〕。
8. 单击“停止”工具栏上的〔停止〕按钮结束录制。
这样,以後只要在网上阅读文字,在Word里打开,先用“Ctrl+A”全选後,单击“常用”工具栏上的宏按钮〔读前设置〕,就可以看到很舒服的文字效果了。
4.2009-10-13 00:09
概要
在 Word 打开新文档或现有文档时,您可以在 Word 中使用 AutoExec 和AutoOpen 宏来建立默认路径、样式、链接、环境条件等。
本文讨论了这些宏的运行方式以及在不同情况下的行为方式。
--------------------------------------------------------------------------------
AutoExec
如果 AutoExec 宏另存为默认模板 (Normal.dot) 的一部分,或另存为全局加载项的一部分,则在启动 Word 时 AutoExec 宏将运行。
使用 AutoExec 宏,可在启动 Word 但创建或加载文档前进行调整。
例如,在 Word 启动时,可以使用AutoExec 宏更改默认目录。
可以用多种方法禁止 AutoExec 宏。
一种方法是使用 /m 或 /embedding 开关,从命令行启动 Word。
要使用这些开关,请单击开始,单击运行,在弹出的“运行”对话框中打开文本框中键入 winword /m 或 winword /embedding,然后单击确定。
另一种可用来禁止 AutoExec 宏的方法是:在启动 Word 时按住 Shift 键。
从自动化客户端启动 Word 时,也会禁止 AutoExec 宏。
--------------------------------------------------------------------------------
AutoOpen
打开新文档后,会运行 AutoOpen 宏。
以下列方式打开文档时,会运行 AutoOpen 宏:
• 使用文件菜单上的打开命令。
• 使用 FileOpen 或 FileFind 命令。
• 从文件菜单上的“最近使用过的”(MRU) 列表中选择一个文档。
如果 AutoOpen 宏另存为某个文档的一部分,或者另存为该文档所基于的模板的一部分,则在打开此文档时,AutoOpen 宏会运行。
如果 AutoOpen 宏另存为全局加载项的一部分,则该宏不会运行。
打开文档时按住 Shift 键可以阻止 AutoOpen 宏运行。
--------------------------------------------------------------------------------
创建 AutoExec 宏和 AutoOpen 宏
下面给出创建 AutoExec 宏和 AutoOpen 宏的步骤:
1、在 Word 中创建一个新的空白文档。
2、选择菜单“工具”——“宏”——“安全性”命令。
3、在弹出的“安全性”对话框中,单击“安全级”选项卡,然后选择“中”。
单击“可靠来源”选项卡,选择“信任所有安装的加载项和模板”,然后单击确定按钮。
4、按下列步骤创建 AutoExec 宏。
1) 选择菜单“工具”——“宏”——“录制新宏”命令。
2) 在录制宏对话框中,在宏名下键入 AutoExec,然后单击确定。
默认情况下,宏保存在 Normal 模板中。
一个包含两个按钮的小命令栏就会出现在 Word 文档中,或出现在 Word 桌面上的其他地方。
找到该命令栏然后单击方形(停止录制)按钮以停止录制。
3) 在工具菜单上,指向宏,然后单击宏。
在宏列表中选择 AutoExec,然后单击编辑。
4) 向 AutoExec 宏中添加以下代码:
MsgBox "You're seeing the AutoExec macro in action", vbMsgBoxSetForeground
5)在 Microsoft Visual Basic 编辑器中的文件菜单上,单击保存 Normal,然后关闭 Visual Basic 编辑器。
5、按照创建 AutoExec 宏的相同步骤,创建 AutoOpen 宏。
这时在每一步骤中使用 AutoOpen 表达式替换 AutoExec 表达式。
6、将文档另存为 C:\Yourfile.doc,关闭此文档,然后退出 Word。
7、使用下表中描述的其他方法在 Word 中打开此文档,观察宏运行和不运行时的情况。
不同情况下宏的行为
下表概括了在启动 Word 或通过不同方法打开文档时这两种宏的行为:
操
作 AutoExec AutoOp en
---------------------------------------------------------------------
--------------
通过在命令提示符处键入以下命令,运
行不运行
从空白文档启动 Word:
WinWord.exe
-----------------------------------------------------------------------------------
通过在命令提示符处键入以下命令,运
行运行
从保存的文档启动 Word:
Winword.exe C:\<Yourfile>.doc
-----------------------------------------------------------------------------------
通过在命令提示符处键入以下命令,不运
行运行
在 OLE 容器中嵌入 Word
文档:
WinWord.exe /embedding C:\<Yourfile>.doc
-----------------------------------------------------------------------------------
通过使用以下代码不运
行运行
自动运行 Word 并
打开 C:\<Yourfile>.doc:
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Documents.Open "C:\YourFile.doc"
-----------------------------------------------------------------------------------
在 Internet Explorer 或 WebBrowser 控件中不运行运行
浏览到该文档
5.省时省力!妙用Word宏输入特殊符号
2009年10月30日星期五 21:04
在进行文字排版时经常要插入字符,但在符号框中查找费时费力又费眼!其实,我们可以利用“宏”来为我们解决这个问题。
对于一些常用的符号(如“$”),可以使用宏来使工作简化。
具体方法是:
1. 首先,依次选择“工具→宏→录制新宏”菜单命令,接着弹出“录制
宏”界面(如图1)。
图1
2. 在“宏名”下面的输入框中输入新宏的名称,如“Yuan”,接着单击“键盘”图标。
3. 在弹出的“自定义键盘”界面中指定快捷键,如“Ctrl+Y”,单击“指定”按钮后单击“关闭”按钮回到“录制宏”界面(如图2)。
单击“确定”按钮启动记录器。
图2
4. 依次选择“插入→符号”菜单命令,接着弹出“符号”界面。
选择“符号”选项卡,在“符号”框中选择“$”,单击“插入”按钮后再单击“关闭”按钮。
另外,也可以指定到工具栏,从弹出的“自定义”对话框中的“命令”栏中把“Normal.NewMacros.Yuan”拖放到工具栏中。
5. 单击“停止录制”工具栏中的“停止录制”按钮。
6. 依次选择“工具→宏→宏”菜单命令,接着弹出“宏”对话框(如图3)。
图3
7. 选择我们指定的宏名称,再单击“编辑”按钮。
这时我们可以从中看到以下代码:
Sub Yuan()
Selection.InsertSymbol Font:="楷体
-GB2312",CharacterNumber:=-27,Unicode:=True
End Sub
以后,当你需要插入字符“$”时,只需按下“Ctrl+Y”组合键。
或者是在工具栏单击“Normal.NewMacros.Yuan”便可以了。
是不是很简单?你也来试试吧!
本文来自-编程入门网:/Word/word201.htm
6.自定宏在Word中添加外部程序快捷按钮
2009-09-09 18:23
我们平时在使用Word软件的过程中,时不时地要调用一些外部程序,如截图软件、通讯簿、计算器等。
通常情况下,调用以上的这些外部程序都得进入“开始”菜单或者回到桌面双击程序快捷图标,感觉很繁琐。
其实我们可以在Word中将它们以图标的形式放到工具条上,随用随点,非常方便。
具体操作方法如下:
启动Word软件后,执行“工具→宏→宏…”命令,调出“宏”对话框,在“宏名”文本框中键入宏的名称,以“ACDSee”为例,然后单击“创建”按钮,Word会自动进入VisualBasic编辑器(图1)。
VB代码窗口中已经自动加入了几行代码,在“SubACDSee()”和“EndSub”之间,加入我们自己的代码:Shell "C:Program FilesACD SystemsACDSee10.0ACDSee10.exe",Shell是Word宏中用来运行外部程序的命令,空一格然后在西文双引号之间输入你想要运行的程序的路径和程序名即可,然后关闭VB编辑器回到Word编辑窗口中(图2)。
执行“工具→自定义”命令调出“自定义”对话框,单击“命令”标签,在左边“类别”中选择“宏”,然后将右边的“命令”框中一个名为
“Normal.NewMacros.ACDSee”的命令拖放到工具栏适当的位置。
右键单击这个新的命令按钮,从右键菜单中选择“默认样式”即可。
你还可通过“更改按钮图标”为此按钮更换图标。
之后你在Word中编辑文档时,就可以通过单击这个按钮随时调用ACDSee
看图片了。
其他程序快捷按钮的定制可依此类推。
7.Word 工具栏或菜单栏丢失四种解决方案之二:因为宏
2009年09月02日星期三 15:57
五、启动 Word 而不运行宏
检查您是否在使用一个 Microsoft Visual Basic for Applications (VBA) 宏来启动 Word。
您可能运行了一个启动 Word 时不显示任何菜单或工具栏的VBA 宏。
如果您是通过快捷方式启动 Word 的,请检查快捷方式所使用的命令行,看看它是否包含宏名称。
为此,请按照下列步骤操作:
1.查找用于运行 Word 的快捷方式。
2.右键单击该快捷方式,然后单击快捷菜单上的属性。
3.单击快捷方式选项卡。
4.在目标框中,查找类似于以下内容的命令行:
"C:\Program Files\Microsoft Office\Office10\WINWORD.EXE" /m macro name
其中 /m macro name是宏的名称。
5.如果在命令行中看到 /m macro name,请将其删除,然后照常启动 Word。
注意:后面跟着宏名称的/m开关会在启动 Word 时运行一个特定的宏。
该/m开关还会阻止 Word 运行任何自动执行宏。
如果 Word 能够正常启动,则说明该问题已经解决。
出现此问题的原因是,启动 Word 时运行了一个宏,而这个宏更改了 Word 窗口的外观。
六、创建“打印预览”宏
在 Word 中更改“打印预览”宏以显示您需要的设置。
例如,要在打印预览中自动显示格式工具栏,请按照下列步骤操作:
1.在工具菜单上,指向宏,然后单击宏。
2.将“宏的位置”框中的选择更改为Word 命令。
3.在宏名列表中,选择FilePrintPreview。
4.将“宏的位置”框中的设置更改为“Normal.dot(共用模板)”。
5.单击创建。
6.创建下面的宏:
7.Sub FilePrintPreview()
8.'
9.' FilePrintPreview Macro
10.' Displays full pages as they will be printed.
11.'
12. ActiveDocument.PrintPreview
13. CommandBars("Formatting").Visible = True
End Sub
14.在文件菜单上,单击“关闭并返回到 Mic rosoft Word”。
8.2009-09-07 12:28
Option Explicit
Sub 小写金额变大写()
Dim Numeric As Currency, IntPart As Long, DecimalPart As Byte, MyField As Field, Lable As String
Dim Jiao As Byte, Fen As Byte, Oddment As String, Odd As String, MyChinese As String
Const ZWDX As String = "壹贰叁肆伍陆柒捌玖零" '定义一个中文大写汉字常量
On Error Resume Next '错误忽略
With Selection
Numeric = VBA.Round(VBA.Val(.Text), 2) '四舍五入保留小数点后两位
'判断是否在表格中
' If .Information(wdWithInTable) Then _
.MoveRight unit:=wdCell Else .MoveRight unit:=wdCharacter
'对数据进行判断,是否在指定的范围内
If VBA.Abs(Numeric) > 2147483647 Then MsgBox "数值超过范围!", _ vbOKOnly + vbExclamation, "Warning": Exit Sub
IntPart = Int(VBA.Abs(Numeric)) '定义一个正整数
Odd = VBA.IIf(IntPart = 0, "", "圆") '定义一个STRING变量 '插入中文大写前的标签
' Lable = VBA.IIf(Numeric = VBA.Abs(Numeric), "人民币金额大写: ", "人民币金额大写: 负")
'对小数点后面二位数进行择定
DecimalPart = (VBA.Abs(Numeric) - IntPart) * 100
Select Case DecimalPart
Case Is = 0 '如果是0,即是选定的数据为整数
Oddment = VBA.IIf(Odd = "", "", Odd & "整")
Case Is < 10 '<10,即是零头是分
Oddment = VBA.IIf(Odd <> "", "圆零" & VBA.Mid(ZWDX, DecimalPart, 1) & "分", _
VBA.Mid(ZWDX, DecimalPart, 1) & "分")
Case 10, 20, 30, 40, 50, 60, 70, 80, 90 '如果是角整
Oddment = "圆" & VBA.Mid(ZWDX, DecimalPart / 10, 1) & "角整"
Case Else '既有角,又有分的情况
Jiao = VBA.Left(CStr(DecimalPart), 1) '取得角面值
Fen = VBA.Right(CStr(DecimalPart), 1) '取得分面值
Oddment = Odd & VBA.Mid(ZWDX, Jiao, 1) & "角" '转换为角的中文大写
Oddment = Oddment & VBA.Mid(ZWDX, Fen, 1) & "分" '转换为分的中文大写
End Select
'指定区域插入中文大写格式的域
Set MyField = .Fields.Add(Range:=.Range, Text:="= " & IntPart & " \*CHINESENUM2")
MyField.Select '选定域(最后是用指定文本覆盖选定区域)
'如果仅有角分情况下,Mychinese为""
MyChinese = VBA.IIf(MyField.Result <> "零", MyField.Result, "") .Text = MyChinese & Oddment
End With
End Sub
'使用方法,在需要大写金额的地方写上相应的小写金额,并写中.安ALT+F8,调
出宏,在列表里选择"小写金额变大写",运行.小写就变成大写了
9.【VBA宏】在Word中运用Range对象详解
2009年10月19日星期一 18:55
当使用Visual Basic时一个常见的任务就是在文档中指定一块区域,然后对它进行处理,比如插入文字或应用格式等。
例如,用户可能想编写一个宏,来对文档中某个部分里的某个单词或短语进行定位。
那就可以使用一个Range对象来表示想在其中搜索特定单词或短语的部分文档。
在确定Range对象后,用户能够应用该对象的方法和属性来修改相应范围中的内容。
一个Range对象代表了文档中的一块连续的区域。
每一个Range对象都由一个起始字符位置和一个终止字符位置来定义。
与用户在文档中使用书签的方法类似,可以在Visual Basic中使用Range对象来识别一个文档的特定部分。
一个
Range对象既可以和插入点一样小,也可以和整个文档一样大。
但是,与书签不同,Range对象仅仅在定义它的过程正在运行时才存在。
Range对象同选定内容相互独立;也就是说,可以定义和修改范围而不会改变选定内容。
用户也可以在文档中定义多个范围,而此时每个文档窗格中仅有一个选定内容。
Start、End和StoryType属性唯一地确定了一个Range对象。
Start和End 属性分别返回或者设置Range对象的起始和结束字符的位置。
每个文档构成部分起始处的字符位置是0 (zero),而第一个字符之后的位置是1,依此类推。
StoryType 属性的WdStoryType常量可以表示十一种不同的文档构成部分类型。
例如,如果在注脚区域中有一个Range对象,那么StoryType属性返回wdFootnotesStory。
要对文档构成部分作进一步了解,请参阅本节后面的“运用文档构成部分”一节的有关内容。
使用Range对象来代替Selection对象
宏录制器会经常创建一个使用Selection属性来控制操纵Selection对象的宏。
但是,用户通常可以用一个或几个Range对象来以很少的命令完成相同的任务。
以下的示例是用宏录制器创建的。
该宏对文档中的前两个单词进行加粗。
Selection. HomeKey Unit :=wdStory
Selection. MoveRight Unit :=wdWord, Count:=2, Extend :=wdExtend
Selection. Font.Bold = wdToggle
以下的示例没有使用Selection对象而完成了相同的任务。
ActiveDocument. Range (Start:=0, End :=ActiveDocument. Words(2). End) .Bold = True
以下的示例对文档中的前两个单词进行加粗,然后插入一个新的段落。
Selection. HomeKey Unit :=wdStory
Selection. MoveRight Unit :=wdWord, Count :=2, Extend :=wdExtend
Selection. Font.Bold = wdToggle
Selection. MoveRight Unit :=wdCharacter, Count:=1
Selection. TypeParagraph
以下的示例没有使用Selection对象就完成了上述示例中的同样任务。
Set myRange = ActiveDocument. Range(Start:=0, End :=ActiveDocument.
Words(2). End)
myRange. Bold = True
myRange. InsertParagraphAfter
前面的两个示例改变了活动文档中的格式但没有改变选定内容。
在大多数的场合下,Range对象比Selection对象更可取,原因如下:
用户可以定义和使用多个Range对象,而在每个文档窗口中只能有一个Selection对象。
控制管理Range对象不会改变所选择的文字内容。
控制管理Range对象比运用Selection对象速度要快。
使用Range方法返回Range对象
可以使用Range方法在特定文档中创建一个Range对象。
Range方法(可以从Document对象使用)返回一个Range对象,该对象定位于主文档构成部分中,有给定的起始点和结束点。
以下示例创建了一个Range对象,并且赋给myRange 变量。
Set myRange = ActiveDocument. Range (Start :=0, End :=10)
在上述示例中,myRange表示活动文档中的前十个字符。
当对保存在myRange变量中的Range对象应用一种属性或方法时,就可以看到已经创建的Range对象。
以下的示例对活动文档中的前十个字符进行加粗。
Set myRange = ActiveDocument. Range(Start :=0, End :=10)
myRange. Bold = True
当用户需要对一个Range对象进行多次引用时,可以使用Set语句来设置一个等价于Range对象的变量。
但是,如果用户需要在一个对象上执行一次操作,那么就没有必要将对象保存到变量中。
用户可以使用一条确定范围并且改变Bold属性的命令来取得同样的结果;如以下示例所示。
ActiveDocument. Range(Start :=0, End :=10). Bold = True
和书签类似,一个范围能够在文档中横跨一组字符,也可以标记其中的一个位置。
在以下的示例中,Range对象的起始和终止点相同,并且该范围内不包含任何文字。
该示例在活动文档的起始处插入文字。
ActiveDocument. Range(Start :=0, End :=0). InsertBefore Text :="Hello "
用户可以通过使用如上述示例所示的字符位置数字,或者随同Selection
对象、Bookmark对象或Range对象使用Start属性和End属性,来定义一个范围的起始和终止位置。
以下示例创建了一个Range对象,来表示活动文档中的第三和第四个句子。
Set myDoc = ActiveDocument
Set myRange = myDoc. Range (Start :=myDoc. Sentences(3). Start, _
End :=myDoc. Sentences (4). End)
技巧 Range对象在文档中的表示不可见。
但是,用户可以使用Select方法来选定一个Range对象,以保证Range对象表示正确的文字范围。
在以下示例中的Range对象表示活动文档中的前三个段落。
在该宏运行完毕之后,选定内容是指包含在aRange变量中的文字范围。
Set aRange = ActiveDocument.Range (Start :=0, _
End :=ActiveDocument. Paragraphs (3). Range. End)
aRange. Select
使用Range属性来返回一个Range对象
在许多对象都可以使用Range属性-例如,Paragraph对象、Bookmark对象、Endnote对象以及Cell对象-Range属性用来返回一个Range对象。
以下的示例返回了一个Range对象,该对象表示活动文档的第一段。
Set myRange = ActiveDocument.Paragraphs (1). Range
在创建了对Range对象的引用之后,用户可以使用它的任何属性或方法来修改该范围。
以下的示例复制了活动文档中的第一段。
Set myRange = ActiveDocument. Paragraphs (1). Range
myRange. Copy
以下的示例复制了活动文档中表格一的第一行。
ActiveDocument. Tables(1). Rows(1). Range. Copy
以下的示例显示了活动文档中由第一个书签标记的文字。
Range属性可以在Bookmark对象中使用。
MsgBox ActiveDocument. Bookmarks (1). Range. Text
如果用户需要对同一个Range对象应用多种属性或方法,那么可以使用With…End With语句。
以下的示例为活动文档的第一段设定了文字的格式。
Set myRange = ActiveDocument. Paragraphs (1). Range
With myRange
.Bold = True
.ParagraphFormat. Alignment = wdAlignParagraphCenter
.Font. Name = "Arial"
End With
要获得关于返回Range对象的其他示例,请参阅“帮助”中的“Range属性”。
修改文档的一部分
Visual Basic包含了一些对象,可以使用它们来修改以下类型的文档元素:字符、单词、句子、段落以及节。
下面的表格包含了对应于这些文档元素的属性和属性所返回的对象。
表达式
返回的对象
Word (index)
Range对象
Characters (index)
Range对象
Sentences (index)
Range对象
Paragraphs (index)
Paragraph对象
Sections (index)
Section对象
当用户不带index来使用这些属性时,就返回一个同名的集合-例如,Paragraphs属性返回Paragraphs集合。
但是,如果用户使用index来确定在某个集合中的一项,就返回上述表格第二列中的对象-例如,Words(1)返回一个Range对象。
用户可以使用任何范围属性或方法来修改Range对象,如以下示例
所示,该示例将选定内容中的第一个单词复制到剪贴板中。
Selection. Words (1). Copy
在Paragraphs集合以及Sections集合中的集合项分别是Paragraph对象和Section对象,而不是Range对象。
但是,在Paragraph对象和Section对象中都可以使用Range属性(它返回一个Range对象)。
以下的示例将获得文档中的第一段复制到剪贴板中。
ActiveDocument. Paragraphs(1). Range. Copy
上述表格中所有的文档元素属性都可以在Document对象、Selection对象以及Range对象中使用,如以下三个示例所示。
本例设置活动文档中第一个单词的大小写。
ActiveDocument. Words(1). Case = wdUpperCase
本例设置选中的第一节的下边距为0.5英寸。
Selection.Sections(1). PageSetup. BottomMargin = InchesToPoints(0.5)
本例设置活动文档中的文字为两倍行距(Content属性返回一个Range对象,该对象表示主文档构成部分)。
ActiveDocument. Content. ParagraphFormat. Space2
修改一组文档元素
要修改由一组文本元素(字符、单词、句子、段落或节)构成的范围,可以创建一个包含文档元素的Range对象。
随同Range对象使用Start和End属性,用户可以新建一个Range对象,该对象引用了一组文档元素。
以下的示例创建了一个Range对象(myRange),该对象引用了活动文档中的前三个单词,然后将这些单词的字体改为Arial。
Set Doc = ActiveDocument
Set myRange = Doc.Range (Start :=Doc. Words(1). Start, End :=Doc. Words(3). End)
myRange. Font. Name = "Arial"
以下的示例创建了一个Range对象,该对象起始于第二段的开头,到第四段之后结束。