word中如何做一个漂亮的模式图
用户在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忽然无法进入正常模式,只能以这安全模式打开?WORD忽然
很多时候把nomal.dot删除就可以。
可以用查找的方法找到删除。
该文件应该在的位置是:“C:\Documents and Settings\Administato\Application Data\Micosoft\Templates”目录,删除其中的“Nomal.dot”公用模板文件,再重新启动Wod即可。
也可以在安全模式下,点另存为,类型选“文档模板”,上方的保存位置有个文件路径,这就是DOT路径。
对话框中一定有一个nomal.dot。
可以不保存,找到此文件夹,关闭wod,删除。
如何在Word中切换【插入】和【改写】模式
在Wod默认【插入】模式下,在光标所在的插入点输入文字时,其后的文字将自动伴随文本的输入后移,而在【改写】模式下,插入点之后的文本将被新输入的文本所替代,那如何在Wod中切换【插入】和【改写】模式呢,主要有以下几种方法。
⑴ 直接按下键盘上的【Inset】键。
⑵ 用鼠标单击Wod状态栏上的“插入”按钮或“改写”按钮。
word安全模式怎么办
dot”公用模板文件。
注意,还是出现同样的问题,看图C;Templates”目录,删除其中的“Normal,wold文档一双击打不开却弹出对话框提示word遇到问题需要关闭 然后会提示用安全模式打开就只有一个空的word文档然后再从这个空的word文档里将需要的word文档打开又行了 东西没有少 但是这样很麻烦啊;\Microsoft\\,删掉坏的模板就可以了。
第一种方法 模板文件一般存在下面的路径;\Application Data\Administrator\:\\Documents and Settings\\,即可正常打开。
第二种方法比较简单了 用安全模式打开word以后,新建一个文档如下图 在word后边就会出现下图! 那好,卸载了word再重新装了一次,把这两个模板删除,重新启动word,点击确定,重启word即可正常打开 第三种方法,然后点击“本机上的模板” 在弹出的模板框,其实这个情况是因为word文档模板损坏,右键删除掉命名为“空白模板”的模板:文件夹是隐藏着的,所以文件夹选项要选择显示隐藏的文件和文件夹,进入下图相信很多朋友跟我一样都遇见过这个问题...