VB程序操作word表格(文字、图片)

 

VB程序操作word表格(文字、图片)   

2008-01-12 16:20:40|  分类: Visual Basic |  标签: |字号 订阅

      很多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google、baidu搜爆了,都没有找到我需要的东西。到是搜索到了很多问这个问题的记录。没办法,索性只有自己去尝试了。下面把一些代码发上来,给需要的朋友一点提示
         打开一个已经存在的wrod文件(这个文件包含了表格)
Dim  WordApp
Dim  Word
Set  WordApp  =   CreateObject ( " Word.Application " )
WordApp.Visible 
=   True
Set  Word  =  WordApp.Documents.Open( " c:\record.dot " )
          知道了就很简单了,下面是选定某一个表格的一个单元格,并修改其内容
Word.Tables( 1 ).cell( 1 2 ) = " 内容 "
          VBA中的这些数组元素下标都是从1开始的,比如excel的第一行一列也是ExSheet.Cells(1,1),而不是ExSheet.Cells(0,0),WORD的表格也是这样,不信自己试一下就知道了。所以上面那句话的意思就是对整个word文档中的第一个表格的第一行第二列的内容改变为“内容”。很简单吧?网上有些人在问是不是
Word.Tables(1).cell(12
).range.text或者Word.Tables(1).cell(12).text。试一下就发现这2种都不对
         插入图片其实也很简单,代码如下:

Word.Tables( 1 ).cell( 1 3 ).Range.InlineShapes.AddPicture ( " c:\photo.jpg " )

说到这,肯定又有人会问怎么在一个word里插入一个表格。其实很简单:

Call word.Tables.Add(wdBook.application.Selection.Range, 16, 5, 1, 0)   

如果你的程序里涉及到合并及拆分单元格,那么你可能试一下这段代码:

dim Table
set Table = wdApp.ActiveDocument.Tables.Add(wdApp.Application.Selection.Range, NumRows:=27, NumColumns _
:=7, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed)

Set mySelection = wdApp.Documents.Application.Selection
mySelection.Cells.Borders(-7).LineStyle = 1
'选中表格的第2行第3列
table.Cell(2, 3).Select
'向下移动6格,第1个参数和第3个是常数
Call wdBook.Application.Selection.MoveDown(5, 6, 1)
'合并
wdBook.Application.Selection.Cells.Merge
'拆分成7行2列
Call wdBook.Application.Selection.Cells.Split(7, 2, True)  

     如果大家碰到了更复杂的程序,用程序生成起来比较麻烦,那么你就可以用模板来实现了?你可以先用word做一个模板,把表格什么的全都先写好,然后保存成模板文件。然后你再用程序加载这个模板,然后往模板里填写数据。这样难度要低一些。不过具体情况具体分析。word这些集合的下标都是从1开始,然后只要找到表格那个集合,然后选取第一个表格就是要操作的表格了(假设你想操作的表格是模板中的第一个表格)。 代码如下:

dim table

set table=wdApp.ActiveDocument.Tables(1)

      总之微软的那一套东西集成得很不错,其之间任意调用非常方便,大家如果想用VB对WORD做更多的应用,却又不知道怎么实现,我想最好的办法就是录制宏了,你把你想完成的功能操作一遍,然后查看宏,一目了然了吧?呵呵。。。.不过宏代码和真正VB的代码是有点差别的,需要转换一下,多用几次就清楚了。(完)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值