(转)Excel VBA 操作 Word(入门篇)

这篇博客介绍了如何使用Excel VBA来操作Word,适合初学者入门。内容包括基本的VBA编程概念和在Excel中控制Word的技巧。
摘要由CSDN通过智能技术生成
 

原文地址

本文的对象是:有一定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                    '可见
    'Wordapp.ScreenUpdating =False             '屏幕刷新
    Dim WordD As Word.Document      '定义word类
    Set WordD = Wordapp.Documents.Add                  '新建文档
    'Set WordD = Wordapp.Documents.open(filename)          '打开文档
    '……
    WordD.Close                         '关闭文档
    Set WordD = Nothing
    WordApp.Quit                        '退出Word对象
方法二、CreateObject
    Dim WordApp As Object
    Set WordApp =CreateObject("Word.Application")    '新建Word对象
‘后续操作及退出一样……
方法三、GetObject
文件已打开的情况下,使用:SetWordD=GetObject(filename),可建立对文档的引用,如果文件没有打开,则还需要先用方法一或二来操作。
至于方法一和方法二的区别,在网上询问了一下,大师们的回答是:
方法一:前期绑定,好处是在对象后输入句点可以给出快速提示,因为需要先引用对象,所以容易出现版本兼容问题。
方法二:后期绑定,没有提示,根据运行代码机器上对象的版本创建对象,兼容性好。
提示:有时二者有较大区别,可论坛搜索字典对象,建议编写代码时使用前期绑定,发布时使用后期绑定。
 
二、认识Word的结构
Excel有:
Excel.Application                        ’Excel引用
Excel.Application. Workbooks             ’工作簿
Excel.Application. Workbooks.Sheets(1)      ’工作表
工作表下是Range,区域;Cells(row,col),单元格
Word有:
Word.Application
Word.Application.Documents           ’文档
文档下有字符、单词、句子、段落和节。字符组成单词,单词组成句子,句子组成段落。此外,每个文档具有一个包含一个或多个节的 Sections 集合,每一个节都有一个包含该节页眉和页脚的HeadersFooters 集合。
Characters(index)
Words(index)
Sentences(index)
Paragraphs(index)
Sections(index)
前三个返回Range对象,能直接使用任何区域属性或方法修改该Range 对象。后面二个返回该集合的单个成员,而不是 Range 对象,不能直接使用区域属性或方法。如下使用例子:Words(1)后面直接.Copy,而.Paragraphs(1)和.Copy之间多了一个Range。
Selection.Words(1).Copy
ActiveDocument.Paragraphs(1).Range.Copy
Characters:字符,ActiveDocument.Sentences(1).Characters.Count,第一句的字符总数。
Words:单词,对于英文来说是二个空格之间的字母加空格,对于中文,一个标点符号,一个汉字,或一个词(按照微软的输入法中的词组定义?)。(感觉不是很可靠?)
Sentences:句子,以句号结束?感觉也不是一个很可靠的范围,感觉还是字符、段落、节,控制起来靠谱一些。
Range 对象表示文档中的一个连续范围,由一个起始字符位置和一个终止字符位置定义。这个连续范围可以小到
  • 11
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel VBA操作Word是指通过ExcelVBA编程语言来控制和操作Word应用程序。下面是Excel VBA操作Word入门篇。 首先,我们需要在Excel中引用Word对象库,这样才能使用Word的相关功能。打开ExcelVBA编辑器,点击菜单栏的"工具",选择"引用",然后勾选"Microsoft Word XX.X Object Library",点击确定。 接下来,我们需要声明一个Word应用程序对象,并创建一个新的Word文档。使用下面的代码可以完成这个任务: ``` Dim wordApp As Object '声明一个Word应用程序对象 Dim wordDoc As Object '声明一个Word文档对象 Set wordApp = CreateObject("Word.Application") '创建一个新的Word应用程序对象 wordApp.Visible = True '设置Word应用程序可见 Set wordDoc = wordApp.Documents.Add '创建一个新的Word文档 ``` 然后,我们可以向Word文档中插入文字、设置字体、样式、段落格式等。使用下面的代码可以实现这些操作: ``` wordDoc.Content.Text = "这是一个用Excel VBA操作Word的示例文档" '向文档插入文字 wordDoc.Content.Font.Name = "Arial" '设置字体 wordDoc.Content.Font.Size = 12 '设置字号 wordDoc.Paragraphs(1).Alignment = 1 '设置段落居中对齐 ``` 此外,我们还可以向Word文档中插入图片、表格、超链接等。使用下面的代码可以实现这些操作: ``` wordDoc.InlineShapes.AddPicture "C:\image.jpg" '插入一张图片 wordDoc.Tables.Add Range:=wordDoc.Range, NumRows:=3, NumColumns:=3 '插入一个3行3列的表格 wordDoc.Hyperlinks.Add wordDoc.Range, Address:="http://www.example.com", TextToDisplay:="点击访问示例网站" '插入一个超链接 ``` 最后,我们需要关闭Word文档和应用程序对象以释放资源。使用下面的代码可以完成这个任务: ``` wordDoc.SaveAs "C:\example.docx" '将文档保存为docx格式 wordDoc.Close '关闭文档 wordApp.Quit '关闭Word应用程序 ``` 以上就是Excel VBA操作Word入门篇内容。通过这些基础知识,我们可以进一步探索更多复杂的Word操作,如格式控制、文本替换、邮件合并等。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值