Word 2003中查找功能非常强大,查找的对象可以是文本、格式或图像...
用户在Word中操作的每一个东西都是一个对象,如文档、对话框、文本框、图形、图表甚至Word本身都是对象,这些对象都有自己的属性和方法。
因此,用户可以通过编程来访问这些已有的对象,改变它们的属性,以完成某些较特殊的操作。
在对象模型中,还有一个重要的概念是集合(Collections)。
所谓集合,就是一组相近对象的组合,属于一个更大的对象,例如Sentences、Words和Characters对象,就可看成一个集合,它们隶属于Range对象,集合的重要属性是可以对其进行整体操作。
本文以改变Word文档属性来说明Word对象模型的应用。
Word文档属性的整体改变 我们有时想将Word文档的属性(如字体、字号等)作整体改变,最常见的例子是将整篇文档的字体都按比例增大或减小一号,如果整篇文档都采用同一属性,那么就可全选整个文档,然后改变属性即可;如果文档中的不同部分的属性不同,我们就很难对其进行整体操作,唯一的办法是选择文档的不同部分进行分别操作,这样做不仅费时,而且容易出错。
若借助Word的对象模型,我们就可轻易地对整个文档中的每一段、句和单词甚至是单个字的属性进行准确控制,下面以字号属性为例(其他属性类似),将文档中的所有字的字号都减小一号。
1.以Paragraphs(段)为操作对象,将文档中的每一段的字号都减小一号 如果Word文档中的各段落的字号不相同,但段落内部的字号都相同,则可以通过改变段落对象的字号属性来达到我们的目的。
代码如下。
Sub paragraph() On Error Resume Next Dim myParagraph As paragraph '对每一段落进行操作 For Each myParagraph In ActiveDocument. Paragraphs '如果该段落中的字号不尽一致或有其他格式, Word段落字号属性的返回值将为99999, 此时使用段落对象模型不能改变该段落的字号,故退到下一段 If myParagraph.Range.Font.Size >1000 Then Exit For '将该段的字号减小一号 myParagraph.Range.Font.Size=myParagraph .Range.Font.Size-1 Next myParagraph End Sub 2.以Sentences(句子)为对象,将文档中每一句的字号都减小一号 …… Dim I, J As Integer '统计每一段中句子的总数 J = myParagraph.Range.sentences.Count For I = 1 To J '防止同一句中出现不同的字号 If myParagraph.Range.sentences(I).Font.Size >1000 Then Exit For '将每一句的字号减小一号 myParagraph.Range.sentences(I).Font.Size= myParagraph.Range.sentences(I).Font.Size -1 Next I …… 3.以Words(单词)为操作对象,将文档中的每一单词的字号都减小一号 …… For Each myParagraph In ActiveDocument.Paragraphs '统计每一段中总单词数 J = myParagraph.Range.words.Count '将每一个单词的字号减小一号 For I = 1 To J myParagraph.Range.words(I).Font.Size = myParagraph.Range.words(I).Font.Size - 1 Next I …… 4.以Characters(单字)为操作对象,将文档中的每一个字的字号减小一号 …… For Each myParagraph In ActiveDocument.Paragraphs '统计每一段中总字数 J = myParagraph.Range.characters.Count '将每一个字的字号减小一号 For I = 1 To J myParagraph.Range.characters(I).Font .Size=myParagraph.Range.characters(I).Font.Size-1 Next I …… 带格式单词的替换 Word自身有替换命令(ctrl+h),但该命令的不足之处是,不能对带格式的单词进行替换,例如,要将整篇文档中的H2CO3替换成H2CO3,该命令就无能为力了。
下面介绍如何借助Word中的对象模型来实现替换。
Sub ReplaceWord() On Error Resume Next '对文档中的H2CO3进行格式替换 Dim myParagraph As Paragraph Dim I, J As Integer Dim tmpStr As String '对每一段进行操作 For Each myParagraph In ActiveDocument.Paragraphs '统计该段的单词数 J = myParagraph.Range.words.Count For I = 1 To J '比较字符串,查找所有替换的单词 If (LCase(myParagraph.Range.words(I)) = “h2co3") Then '选择所替换的单词 myParagraph.Range.words(I).Select '替换单词,写入字母H Selection.TypeText Text:=“H" '将其格式变为下标 Selection.Font.Subscript = True '写入下标2 Selection.TypeText Text:=“2" '字体变为正常体 Selection.Font.Subscript = False '写入字母CO Selection.TypeText Text:=“CO" '将其格式变为下标 Selection.Font.Subscript = True '写入下标3 Selection.TypeText Text:=“3" '字体变为正常体 Selection.Font.Subscript = False End If Next I Next myParagraph End Sub 上面程序段运行后,即可将文档中所有的H2CO3全部替换成H2CO3。
而且,我们还可在VBA中插入窗体,编写出同Word替换命令类似的窗口界面,来进行带格式单词的替换。
在Word菜单“插入”
您可点击“插入”菜单,再点击“对象”,找到“Microsoft 公式3.0”,选中它以后双击左键,就可以打开公式编辑器了,点击“分式和根式模板”,用它输入即可。
(请见上传截图) 如果您的电脑中找不到“Microsoft 公式3.0”,那可能是没有安装公式编辑器。
解决方法是可用“eq域”来解决,具体方法是: 比如您要输入根号2,按下“Ctrl+F9”组合键,这时出现一个灰底的大括号,在里面输入“eq \r(2)”(不包括双括号),并用鼠标右键点一下,再在弹出的对话框中点一下切换域代码,根号2就出来了。
注意要点: 1.输入时要切换到英文输入法,不然不能成功。
2.eq后面要有一个空格。
3.要输入其他根式可输入“eq \r(x,y)”,括号里逗号前面的x是开几次方的数,后面的y是要开根号的数。
word中可以插入哪些对象?对象与文字的绕排方式有哪些?
word中现成的数学公式的在表格——公式——选择粘贴函数。
具体方法:1、选择要计算的单元格,点击文档顶部——表格——公式。
2、在公式栏中输入公式即可。
3、也可以选择下方“粘贴函数”进行选择。
公式中英文的意义:
Word文档可以查找,但却不能替换,为何?
保存后重新打开即可,word查找替换的具体步骤如下:1)启动word。
2)点击替换按钮或直接按替换快捷键Ctrl+H。
3)输入查找和替换内容。
4)完成。
打开word的6种方法
六种启动Word程序的方法:1.双击桌面上的Word快捷图标。
2.右击桌面,执行“新建/Microsoft Word文档”快捷菜单命令,在桌面上建立“Microsoft Word文档”快捷图标,双击快捷图标。
3.执行“开始/程序/Microsoft Word”命令。
4.通过资源管理器,找到Word可执行文件“WinWord.exe”双击。
(与第6种方法类同)5.执行“开始/运行”操作,输入框中键入“WinWord.exe”后“确定”6.双击桌面上“我的电脑”,双击“本地磁盘(C:)”(一般地,Office Word安装在C盘),依次打开文件夹“Program Files、Microsoft Office、Office”,在窗口列表中找到“WinWord.exe”可执行文件后双击图标。
转载请注明出处51数据库 » word可以查找的对象
陌涵