VB控制WORD

2024-07-24

VB控制WORD(精选4篇)

VB控制WORD 篇1

BMP是一种与硬件设备无关的图像文件格式, 它采用位映射存储格式, 除了图像深度可选以外, 不采用其他任何压缩, 因此, BMP文件所占用的空间很大。但是在计算机使用中常常要产生很多的BMP文件, 例如截图, 图像数据采集时。当要存储或数据传输等, 就希望将BMP文件压缩后使用, 现在压缩软件很多, 但是对于不喜欢安装第三方软件和喜欢用通用资源来编程的人们而言, 本文将给出一些有益的启发。

1 压缩原理与设计

利用通用资源的压缩原理很简单, 把需要转化的BMP文件插入到Word文档中, 然后将Word文档保存为网页格式既完成了压缩。这样的压缩方法对任何安装了Word程序的计算机都可以完成, 而且手工方法也可以完成。但是为了实现压缩自动化, 必须考虑自动压缩以及压缩后的文件的命名、存放和显示等程序过程。

具体的设计思路如图1所示。

删除非JPG文件是为了删除保存Word文档时候生存的文件夹和文件, 否则直接删除内有文件的文件夹程序容易报错。建立存放文件夹主要是为了使用者查找方便而建立, 程序在插入BMP文件时候获得文件路径, 然后在给路径下建立新文件夹, 用来存储压缩后的文件。

2 压缩方法与实现

压缩方法与实现将按照压缩的设计思路, 通过VB程序来完成。

2.1 VB中应用API函数选择BMP文件

选择使用API函数主要是语法简单, 程序易于控制和程序可移植性好等优点, 具体引用方法是在APIViewer.exe声明中查找需要的函数、数据结构和数据常量, 如本段中只要引用GetOpenFileName函数、OPENFILENAME数据结构以及OFN开头的数据常量即可, 具体的解析代码如下[1]:

2.2 VB中应用Word程序

启动VB的exe工程后, 在菜单“工程”中选择“引用”, 在若干列表中选择“Microsoft Word 11.0 Object Library"。Office2003为Word 11.0, Office2000的是9.0, Office XP的是10.0。而未安装Office的计算机中则无法引用此项[2]。

引用Word程序后, 就可以在VB中申明和使用Word程序了, 其解析程序段如下:

2.3 提取压缩后文件

提取压缩文件包括JPG文件的命名到复制JPG文件的整个过程, 需要引用FindNextFile等几个查找文件的API函数, 具体过程如下。

3 结论与分析

该程序不仅解决了利用计算机的通用资源来快速压缩BMP文件问题, 而且不产生任何垃圾文件, 属于绿色软件范畴。对压缩的技术要求很低, 对于没有图像学知识的人们也能很好掌握此方法。

该程序的不足地方是计算机必须安装了Word程序, 而且对于JPG文件的压缩参数不能控制, 因为整个过程是由Word程序按照默认参数压缩。因此, 为了保证该程序容错性能, 在应用该程序中再添加检测Word程序安装情况的代码效果更好。

摘要:在计算机应用过程中通常会或多或少产生一些BMP图形文件, 但是BMP文件较大, 当需要对图像进行压缩时, 希望能够利用通用资源来实现。VB程序调用Word程序可以轻松快捷完成单幅或多幅BMP文件的压缩与保存。

关键词:VB,Word,BMP,压缩

参考文献

[1]李爱玲李湘江.基于VBA的WORD文档自动评阅技术研究.科学技术与工程, 2008; (7) :4859—4863

[2]《Windows API参考大全》编写组.Windows API参考大全.北京:电子工业出版社, 2001

[3]邵洁.Visual Basic程序设计.南京:东南大学出版社, 2006

VB控制WORD 篇2

关键词:VB6.0,WORD表格,ACCESS数据库,VB控制WORD

1 工作中遇到的问题和解决的方案

我所在单位的局域网机房,有两个机柜,内部放置交换机,路由器等网络设备,两个机柜分别为内网机柜和外网机柜,内网为单位内部使用,不与INTERNET网连接,外网为连接INTERNET互联网的网。我们单位的特殊情况是刚开始建设机房时,交换机的数量少,所以有许多房间并没有连通网络,而是在需要时在机房将端口与交换机连通。机房交换机的端口号与房间号的对应关系经常变化,增加了维护的难度。有时只是某一个节点出现接触不好等问题,却需要检查多个点,,浪费了时间。刚开始时只有一个局域网布线图,后来制作了房间号,机房交换机端口号,机柜线架号三者之间的对照表,通过机房交换机指示灯的亮灭、闪烁等判断某一个房间的计算机是否已经与机柜中的交换机连通,从而有针对性地解决网络连通问题。房间号、机房交换机端口号、机柜线架号三者之间的对照表原先是WORD表格格式的,比较直观,但是查找和维护有些不方便,故障排除速度慢,有时要再查局域网布线图才能解决问题,于是想到编一程序把两种WORD表格中数据导出到一个ACCESS数据库中,使之合二为一,再编一个软件来操作数据库,从而解决查找和维护难的问题。

2 程序设计

本程序的功能有两个,一是从WORD文档表格中读出所需要的数据形成数据库,二是从数据库中读出数据,写入另一个WORD文档表格中。数据库使用ACCESS2000,开发软件的程序语言用VISUAL BASIC6.0。

2.1 对读取数据的WORD文档表格的格式说明

需要读取数据的表格有两种格式,分别在两个WORD文件中。如下面的示意图所示,第一种格式是如表格1所示局域网布线图,它表示全部的房间号与机房线架号之间的对应关系,表格的一行代表一个线架,行列交叉点的单元格为一个房间号,表示有一个机房线架的端口连接到一个房间的网络端口上。应用本程序时,表格的行和列的数量不限制。第二种格式是如表格2所示的对照表,一个表格代表一台交换机。实际有多台交换机,就有多个相同格式的表格。但是表格的行和列的数量不限制。以表格中第一个单元格为例,第一行代表交接机端口号,例如4-1代表第四台交换机的第一个端口,第二行为房间号,第三行为机柜线架号,例如8-18代表第八个线架的第18个端口,这样就可以查到交换机、房间号、机柜线架号三者之间的关系。需要注意,在应用本程序读取时,这两种表格必须不能同时在同一个WORD文档中,才能有正确的读取结果。

2.2 数据库的结构

数据库采用ACCESS2000,建立一个数据库名称为NW1.MDB,在这个数据库中建立两个数据表,分别为NW1和WW1,其中NW1用于存放内部网数据,WW1用于存放外部网数据。两个表的结构相同,都只有4个字符型字段。分别为房间号,机架号,交换机号,状态备注。本文只对WW1数据表进行操作。

2.3 使用VB编程读取WORD表格中数据,并存入ACCESS数据库中

VB调用word方法有多种,这里采用OLE自动化方法。主要是定义一个OBJECT(对象)类型的变量,再把WORD对象赋值给对象变量,由于WORD文档中的各种元素例如文档、段落、书签或单个的字符等都可以作为对象调用所以就可以通过层层调用,达到控制WORD的目的。本程序使用一个窗体,窗体中所需要的控件名称和用途列表如表3。

2.3.1 对表格1中数据进行读取

读取表格1后形成ACCESS数据库中的机架号,房间号两个字段的数据。它表示整个局域网的机房线架号与房间号的对应关系。本程序运行时先显示一个通用对话框,使用者选择一个只包含表格1格式的局域网布线图WORD文件,按打开按钮即开始读取WORD文档中数据,需要注意在本程序的安装文件夹中必须有一个名称为D1的WORD空文件,用于拷贝选择的WORD文档内容。

2.3.2 对表格2中的数据进行读取

程序运行后先弹出一对话框,使用者选择一个只包含表格2格式的WORD文件,按打开即开始读取。一个表格代表一台交换机,实际有多台交换机就有多个表格。本程序可以自动判断WORD文档中有多少个表格,只要表格的格式与表格2相同即可正确读取。读出数据后与数据库中原有数据作比较,形成数据库表WW1中的”交换机号”字段。注意在本程序的安装文件夹中要有一个名称为D1.DOC的空WORD文件用于拷贝选择的文件。程序代码如下。

2.4 将数据库中数据写入一个WORD表格中。

由以上读取两种格式表格形成了数据库表中的数据。现在要从数据库中读出数据,再写入一个WORD表格中,先在程序安装文件夹中手工建一个空白WORD文档,名称为DD,程序执行时调出这个空白文档,由程序控制在文档开头写一行提示文字,再在这个文档中生成所需要的空表格,向表格中写入数据库中的数据。

生成的表格如表4形式,交换机号为空白的表示该房间端口没有连接到机房交换机上。

2.5

关于对数据库中数据的查找、维护等程序代码本文不再赘述。

3 总结

当我们需要从EXCEL电子表格、或者从WORD文档中取出数据作另外的分析并且表格的数据量很大时,这种编程序自动读取数据的方法就显出了优越性,它可以减少手工录入的工作量,减少错误的发生。而编程将数据写入WORD文档中又可利用WORD字处理软件的强大的文字处理功能,从而达到事半功倍的效果。

参考文献

[1]陈宗周,张长富.跟我学Visual basic5.0[M].昆明:云南大学出版社,1998.

[2]鸿志创作.Visual basic6.0中文版应用与开发[M].北京:科学出版社,1999.

VB控制WORD 篇3

关键词:VB语言,Word应用,气象决策产品,自动生成

1 问题提出

对于气象决策中心来说,为当地政府和有关部门快速提供准确、可靠的气象服务材料是日常主要业务工作。材料的主要形式是图文并茂的Word文档。内容一般包括:(1)实时信息和历史信息的对比分析;(2)突发性、灾害性天气的跟踪分析;(3)相关气象图形、图表;(4)未来天气的预测。其中大部分内容可以从迅速发展、完善的气象信息处理系统[1,2]中获得,但仍有一部分分析内容和后期的编辑、排版需要人工操作,如果这部分也能编写程序自动生成,将减少无谓错误和提高工作效率。

2 语言选择和设计思路

Visual Basic(简称VB)是一种简单易学、方便快速、功能强大的高级程序设计语言,其面向对象和采用事件驱动的方式可用于开发Windows环境下的各类应用程序。Word软件自带的寄生式语言VBA(Visual Basic Application)与VB有共通之处,支持VB的二次开发,决定选择VB作为开发语言。

气象服务材料具有固定的格式,只需建立某类材料模版demo.doc文件,其中变化的内容用“书签”标记,通过VB对Word中“书签”的编程[3],以实际内容替换相应的“书签”,即可完成其制作,而格式和布局不会有任何变化,无需每次进行编辑排版,保证了快速、准确、省时、省力。

3 开发实例

“气象旬报”是气象服务材料之一,每旬逢1日制作,以往的做法是将收集到的报文翻译为实际数据,打印输出,对照纸质资料人工分析,然后在Word中编辑、排版。利用VB开发程序后,这些工作可自动完成。图1为“气象旬报”编辑界面。

该界面包含设置了3个Tab Strip控件,对应材料中的3个主要内容,其中,第1个Tab Strip控件对应实时信息,通过翻译局域网上的报文得到,翻译完成的数据显示在MSFlex Grid控件中,通过点击滚动条浏览全部数据,若发现有错误的数据可通过单击单元格或原始报文进行修改,同时进行了必要的统计分析,模板中所需要的数据存放到变量中,这个过程在后台完成;第2个Tab Strip控件对应一段时间以来已经发生的天气实况,读取由值班人员逐日整理成的Word文档获得,并显示在与其对应的Text控件中,可以进行适当的编辑修改;第3个Tab Strip对应未来一旬的天气预报,通过读取局域网上预报产品得到,也显示在与其对应的Text控件中以及进行适当的编辑修改;后2个Tab Strip对应的内容也是在后台完成的。界面中还包含4个Commond Button命令按钮,完成查看原始报文、将资料存入实时库、形成产品和取消4个功能,其中,“形成产品”按钮是完成材料制作的最后一步,也是整个系统的关键,单击该按钮即可显示熟悉的Word界面,并已形成最终材料,可直接进行服务。

自动生成的关键是Vb对Word的操作,以下列出主要编程过程和代码,若读者有类似的产品制作,可根据给出的代码加以修改即可使用。

在工程中引用“Microsoft Word X 0bject Library”,其中X与版本有关。

Dim WApp As Word.Application'定义Word对象变量;

Dim WDoc As Word.Document'定义文件实例对象变量;

Dim Wbook As Word.Bookmark'定义书签对象变量

Dim WTable As Word.Table'定义表对象变量

Set WApp=New Word.Application'创建Word实例

Set WDoc=Documents.Open(filename:="气象旬报模板.doc")'打开文件并赋予文件实例

Set Wbook=WDoc.Bookmarks("Bookmark")

'创建书签的引用

该“书签”可以用Text控件的Text属性(VB语句:WApp.selection.Type Text Text.text)、或Word文档(VB语句:WApp.selection.Insert File(App.path+“Word文档.doc”))替换。

“书签”处需要用图片替换时,则采用以下语句:WApp.activedocument.Bookmarks("Bookmark_FImage").range.InlineShapes.Add Picture File Name:=App.path+“某分布图.bmp”)

另外,填充模板中的固定表格采用以下语句:

Set MTable=WApp.activedocument.Tables(k)

'定义将内容要添加到表中,k为表序号

MTable.cell(行,列).range.insertafter“数据”

'该数据可以来自后台统计结果、MSFlex Grid控件单元格以及'Excel。

若需在模板中添加新表格,采用以下语句:

Wdoc.Active Document.Tables.Add Range:=Wdoc.Selection.Range,Num Rows:=3,Num Columns:=4,Default Table Behavior:=wd Word9Table Behavior,Auto Fit Behavior:=wd Auto Fit Fixed

语句中3、4分别代表行列数。

填充语句同固定表格。

4 结语

针对气象服务材料格式较为固定的特点,充分利用VB和桌面办公系统各自的优势,通过VB与Word的无缝连接[4],实现气象服务材料一键生成,大大提高了工作效率。无论对于熟悉材料内容的值班人员还是刚参加工作不久的值班人员均可在几分钟内完成“气象旬报”,大大缩短了制作时间,提高了工作效率。

参考文献

[1]李馗峰,杨培芬,苗爱梅,等.山西省重要天气信息实时处理警示系统[J].山西气象,2007,(4):27-29.

[2]姚彩霞,朱临洪,史源香,等.山西决策气象服务产品加工制作系统研究[J].吉林气象,2010,(1):28-31,33.

[3]张青晖.VB对Word97中书签的编程[J].电脑编程技巧与维护,2009,(9):21-23.

VB控制WORD 篇4

关键词:VB6.0,PowerPoint,Word,Office

我们在日常办公过程中,经常会碰到这样的情况,首先做好了PowerPoint演示文稿,以供讲座、上课使用,而同时又要将这些演示文稿的内容做成Word文档,按照某种格式进行排版、打印装订成册。如果在Word中重新录入,既麻烦又浪费时间;如果在两者之间,通过一块块地复制、粘贴,也相当费事。

PowerPoint程序和Word程序同属于Office办公软件,软件本身自带了几种转换方式,如“大纲”视图转换、“发送”功能转换、“另存为”转换,网上也能免费下载“PPTConverttoDOC”转换软件,但这些转换方式,都存在各种局限,其中最典型的局限是无法将图片同步转换。

1 常规转换方法及各种局限

1.1 利用“大纲”视图

打开PowerPint演示文稿,单击“大纲”,在左侧"幻灯片/大纲”任务窗格的“大纲”选项卡里单击一下鼠标,按"Ctrl+A"组合健全选内容,然后使用"Ctrl+C"组合键或右键单击在快捷菜单中选择“复制”命令,然后粘贴到Word文档中。

1.2 利用“发送”功能转换

打开要转换的PowerPint演示文稿,单击“文件”→“发送”→"MicrosoftWord"菜单命令。然后选择“只使用大纲”单选按钮并单击“确定”按钮,等一会就发现整篇PowerPint演示文稿在一个Word文档里被打开。

1.3 利用“另存为”直接转换

打开需要转换的PowerPint演示文稿,点击“文件”→“另存为”,然后在“保存类型”列表框里选择存为"rtf"格式,再用Word打开刚刚保存的rtf文件。

1.4 PPTConverttoDOC软件转换

PPTConverttoDOC可以从网上免费下载,解压后直接运行,在运行之前请将Word和PPT程序都关闭。选中要转换的PowerPin演示文稿,直接拖曳到"PPTConverttoDOC"程序里。单击工具软件里的“开始”按钮即可转换,转换结束后程序自动退出。

各种转换方式的局限:前三种方法,只能复制“大纲”内容,而有一些不是大纲的文字则不能复制。第四种方法,软件是网上免费下载的,可能会有木马。更主要的,它们的都不能同步转换图片,这是我们在办公过程中所不能忍受的。利用VB6.0编程,可以突破这些局限。

2 VB6.0实现转换的主要过程

2.1 对象引用与变量定义

利用VB6.0编程方式对Word与PowerPoint操作,首先必须引用Word对象库和PowerPoint对象库,如Office 2003的Microsof Word 11.0 Object Library和Microsoft PowerPoint 11.0 Object Library,然后新建一个PowerPoint程对象和Word程序对象,打开待转换的PowerPoint演示文稿和新建一个Word文档,其代码如下:

Set pptApp=New PowerPoint.Application‘新建PowerPoint程序对象

pptApp.Visible=True‘设置PowerPoint应用程序为可见

Set pptPre=pptApp.Presentations.Open(“待转换的PowerPoint演示文稿路径”)‘打开待转换的PowerPoint演示文稿

Set objword=New Word.Application‘新建Word程序对象

objword.Visible=True‘设置Word应用程序为可见

Set objdoc=objword.Documents.Add()‘新建一个Word文档对象

2.2 文本转换与图片转换

一个PowerPoint的演示文稿是由多张幻灯片(Slide)组成,而一张幻灯片又是由多个形状(Shape)组成,如文本框、表格、图片等。这样,一个PowerPoint的演示文稿,就可以看成一个二维数组,语法格式为:

PowerPoint演示文稿对象名。Slides(幻灯片序号)。Shapes(Shape序号)

其中,Slides是幻灯片数组名,Shapes是一张幻灯片中的形状数组名。

程序的关键是要判断哪些Shape对象是文本框,哪些不是文本框。如是文本框类型的对象,提取其中的文字,写入到Word文档中,而不是文本框对象的,无论是表格还是图片,统一转换为图片,复制并粘贴到Word文档。

判断Shape对象是否是文本框,主要看它的HasTextFrame属性,如它的值是msoTrue,则是文本框,否则就不是。

其代码如下:

2.3 退出程序、释放资源与保存Word文档

pptPre.Close‘关闭PowerPoint演示文稿

pptApp.Quit‘退出PowerPoint程序

Set pptPre=Nothing‘释放资源

Set pptApp=Nothing

objdoc.SaveAs FileName:=“word文档的保存路径”

objdoc.Close‘关闭word文档

objword.Quit‘退出word程序

Set objdoc=Nothing‘释放资源

Set objword=Nothing

3 运行界面与测试结果

图1为程序运行界面和测试结果。其中,在程序界面中,增加了两个命令按扭,通过对话框控件由用户自行选择导入PPT文件的路径和保存word文档的路径;测试结果是由转换后的word文档,按笔者单位的教师备课纸(4)进行简单排版,在页眉中增加标题,将文本转换为表格,并合并部分表格所得到。

4 结束语

利用VB6.0编程方式将PowerPoint演示文稿转换为Word文档,可以突破Office自带转换功能的各种局限,同步转换图片,极大地提高办公效率。

但由于人们在编辑PowerPoint演示文稿的习惯不一样,以及不同场合的Word文档排版格式也不一样,利用程序生成的Word文档,还需要进行一些简单的排版。

参考文献

[1]陈军民.浅析利用VB6.0将Access数据表转换为Word文档[J].电脑知识与技术,2010(23).

[2]张捷,封俊红.基于VBA的PPT文档转换为Word文档的研究与实现[J].微型电脑应用,2009(2).

上一篇:百度大数据下一篇:地方财政资金