Excel-VBA-操作-Word(入门篇).docx
《Excel-VBA-操作-Word(入门篇).docx》由会员分享,可在线阅读,更多相关《Excel-VBA-操作-Word(入门篇).docx(23页珍藏版)》请在咨信网上搜索。
1、Excel-VBA-操作-Word(入门篇)本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人。一、新建Word引用需要首先创建一个对 Word Application 对象的引用。在VBA中,工具-引用,选取“MicroSoft Word 11.0 Object Library”。方法一、New Word.Application Dim Wordapp As Word.Application Set Wordapp = NewWord.Application Wordapp.Visible = True 可见 Wo
2、rdapp.ScreenUpdating =False 屏幕刷新 Dim WordD As Word.Document 定义word类Set WordD = Wordapp.Documents.Add 新建文档Set WordD = Wordapp.Documents.open(filename) 打开文档WordD.Close 关闭文档Set WordD = NothingWordApp.Quit 退出Word对象方法二、CreateObject Dim WordApp As Object Set WordApp =CreateObject(Word.Application) 新建Word对
3、象后续操作及退出一样方法三、GetObject文件已打开的情况下,使用:SetWordD=GetObject(filename),可建立对文档的引用,如果文件没有打开,则还需要先用方法一或二来操作。至于方法一和方法二的区别,在网上询问了一下,大师们的回答是:方法一:前期绑定,好处是在对象后输入句点可以给出快速提示,因为需要先引用对象,所以容易出现版本兼容问题。方法二:后期绑定,没有提示,根据运行代码机器上对象的版本创建对象,兼容性好。提示:有时二者有较大区别,可论坛搜索字典对象,建议编写代码时使用前期绑定,发布时使用后期绑定。二、认识Word的结构Excel有:Excel.Applicatio
4、n Excel引用Excel.Application. Workbooks 工作簿Excel.Application. Workbooks.Sheets(1) 工作表工作表下是Range,区域;Cells(row,col),单元格Word有:Word.ApplicationWord.Application.Documents 文档文档下有字符、单词、句子、段落和节。字符组成单词,单词组成句子,句子组成段落。此外,每个文档具有一个包含一个或多个节的 Sections 集合,每一个节都有一个包含该节页眉和页脚的HeadersFooters 集合。Characters(index)Words(ind
5、ex)Sentences(index)Paragraphs(index)Sections(index)前三个返回Range对象,能直接使用任何区域属性或方法修改该Range 对象。后面二个返回该集合的单个成员,而不是 Range 对象,不能直接使用区域属性或方法。如下使用例子:Words(1)后面直接.Copy,而.Paragraphs(1)和.Copy之间多了一个Range。Selection.Words(1).CopyActiveDocument.Paragraphs(1).Range.CopyCharacters:字符,ActiveDocument.Sentences(1).Charac
6、ters.Count,第一句的字符总数。Words:单词,对于英文来说是二个空格之间的字母加空格,对于中文,一个标点符号,一个汉字,或一个词(按照微软的输入法中的词组定义?)。(感觉不是很可靠?)Sentences:句子,以句号结束?感觉也不是一个很可靠的范围,感觉还是字符、段落、节,控制起来靠谱一些。Range 对象表示文档中的一个连续范围,由一个起始字符位置和一个终止字符位置定义。这个连续范围可以小到一个插入点,大到整个文档。 Dim rngPa As RangeSet rngPa =ActiveDocument. Characters (1) 第一个字符 Set rngPa = Acti
7、veDocument.Range( _ Start:=ActiveDocument.Paragraphs(1).Range.Start, _ End:=ActiveDocument.Paragraphs(4).Range.End) 第1段头到第4段尾 Set rngPa = ActiveDocument.Range(Start:=0,End:=10) 当前文档前10个字符 rngPa.Select选定,我觉得用处不大,原因就是为什么要选中呢?能操作就直接操作,不能的话,就选中吧(他可以说是没办法的办法)。range对象的赋值:(包括任意的对象,Set是对对象赋值的标准语句)set a=b和变量
8、的赋值:a=1不一样三、通过录制宏生成代码有了对Word基本结构的认识,想操作这些对象应该使用什么方法、修改哪些属性?不知道就“录制宏”。录制宏是我们认识未知对象的很好方法之一,通过宏录制器将操作译成Word的 Visual Basic 代码,再根据需要修改代码。Word中录制与Excel不同的是,不能使用鼠标移动光标或选中一行,只能使用键盘来移动,或用Shift+方向键来选中。以下几句话就是键盘的:上、下、左、右、Home、End、Shift+左选中5个字符、Shift+右选中5个字符。 Selection.MoveUp Unit:=wdLine, Count:=1 Selection.Mo
9、veDown Unit:=wdLine, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.HomeKey Unit:=wdLine Selection.EndKey Unit:=wdLine Selection.MoveLeft Unit:=wdCharacter, Count:=5, Extend:=wdExtend Selection.MoveRight Unit:=wdCharacter, Count:=5,
10、Extend:=wdExtend录制的宏使用 Selection 属性返回 Selection 对象。即:录制的宏总是以Selection.开头的,如上。要想使用这个Selection.,有时候我们就不得不先对特定的对象.Select,选中。当然,Selection是一个Range,Characters、Words、Sentences也是Range,Paragraphs(n). Range, Sections(2). Range也是Range,那我们就可以将Selection.后面的语句嫁接到前面这些Range之后,就不用先.Select了。录制的宏,通过嫁接或者复制到EXCEL VBA之后,
11、有的运行会出错,此时应检查以下几项:1、第一项中要求的“引用”建立了没?2、利用VBA提醒功能检查语句。VBA编辑过程中,通常在打下. 之后(需要前期绑定?),该对象所有的方法、属性都会显示出来,利用这个特点,可以检查录制的宏,能否嫁接到需要操作的对象之后。提示里有就能,没有就不能。3、部分转换函数,Word VBA里有,Excel VBA里可能没有,遇到这样的情况,也可能出错。例:WordD.Paragraphs(1).Range.ParagraphFormat.FirstLineIndent = CentimetersToPoints(0.35)Selection.ParagraphFor
12、mat.FirstLineIndent = CentimetersToPoints(0.35)是“首行缩进2字符”操作录制的,嫁接后,运行出错,按方法2检查:.ParagraphFormat.FirstLineIndent能用在Range之后,那么就是CentimetersToPoints(0.35)出问题了?这显然是一个函数,字面意思是“厘米转换成点数”,(录制时我明明输入的是“2字符”,录下来咋成了厘米为单位呢?)那是否是Excel VBA里没有这个函数呢?(我不知道),将=后面直接改为数字运行通过,最后试下来=20大约相当于5号字的“首行缩进2字符”。(这个20,就是20Points?0
13、.35cm=20 Points?)(有人可能会说这样的办法太笨,有什么好办法请告知。先谢过!)四、Word vba常用语句100句1、系统参数(01) Application.ActivePrinter 获取当前打印机(02) Application.Height 当前应用程序文档的高度(03) Application.Width 当前应用程序文档的宽度(04) Application.Build 获取Word版本号和编译序号(05) Application.Caption 当前应用程序名(06) Application.DefaultSaveFormat 返回空字符串,表示Word文档(07
14、) Application.DisplayRecentFiles 返回是否显示最近使用的文档的状态(08) Application.Documents.Count 返回当前打开的文档数(09) Application.FontNames.Count 返回当前可用的字体数(10) Application.Left 返回当前文档的水平位置(11) Application.MacroContainer.FullName返回当前文档名,包括所在路径Application.MacroContainer.pach 返回当前文档路径Application.ActiveDocument.Path 获得文件的相
15、对路径(12) Application.NormalTemplate.FullName返回文档标准模板名称及所在位置(13) Application.RecentFiles.Count 返回最近打开的文档数目(14) Application.System.CountryRegion 返回应用程序所在的地区代码(15) Application.System.FreeDiskSpace 返回应用程序所在磁盘可用空间(16) Application.System.HorizontalResolution 返回显示器的水平分辨率(17) Application.System.VerticalResol
16、ution 返回显示器的垂直分辨率(18) Application.System.LanguageDesignation 返回系统所使用的语言(19) Application.System.MathCoprocessorInstalled 返回系统是否安装了数学协处理器(20) Application.System.OperatingSystem 返回当前操作系统名(21) Application.System.ProcessorType 返回计算机处理器名(22) Application.System.Version 返回操作系统的版本号(23) Application.Templates.
17、Count 返回应用程序所使用的模板数(24) Application.UserName 返回应用程序用户名(25) Application.Version 返回应用程序的版本号2、Documents/Document对象(26) ActiveDocument.AttachedTemplate.FullName 返回当前文档采用的模板名及模板所在位置(27) ActiveDocument.Bookmarks.Count 返回当前文档中的书签数(28) ActiveDocument.Characters.Count 返回当前文档的字符数(29) ActiveDocument.CodeName 返
18、回当前文档的代码名称(30) ActiveDocument.Comments.Count 返回当前文档中的评论数(31) ActiveDocument.Endnotes.Count 返回当前文档中的尾注数(32) ActiveDocument.Fields.Count 返回当前文档中的域数目(33) ActiveDocument.Footnotes.Count 返回当前文档中的脚注数(34) ActiveDocument.FullName 返回当前文档的全名及所在位置(35) ActiveDocument.HasPassword 当前文档是否有密码保护(36) ActiveDocument.H
19、yperlinks.Count 返回当前文档中的链接数(37) ActiveDocument.Indexes.Count 返回当前文档中的索引数(38) ActiveDocument.ListParagraphs.Count返回当前文档中项目编号或项目符号数(39) ActiveDocument.ListTemplates.Count 返回当前文档中使用的列表模板数(40) ActiveDocument.Paragraphs.Count 返回当前文档中的段落数(41) ActiveDocument.Password=XXX 设置打开文件使用的密码(42) ActiveDocument.Read
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Excel VBA 操作 Word 入门
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。