在VB中利用Word宏命令开发ASP组件

2018-09-06 11:12

阅读:545

  作者:杨忠勋
专业:计算机软件开发及应用
语言能力:TOFEL633 GRE2140

   在Mis系统的实际开发中,我们有时需要将当前页面上报表的数据以Word文档的格式下载到本地,这种实现并不困难。但是有时我们需要对下载的Word文档的格式做一些设置,比如标题颜色,字体大小,字间距等等,这时我们就要用到Word自带的宏功能。

   比如我们想将此报表的标题在Word文档中以如下格式显示:14号字,加粗,居中对齐。首先我们需要在Word中录制相应的宏命令。打开Word,新建一文档,手动敲入一行字,然后选择工具->宏->录制新宏命令,为新宏取一个名字如Macro1,执行以上动作(14号字,加粗,居中对齐),Word自动将这些动作保存以相应的Vbscript命令。然后选择工具->宏->宏命令,选择刚才我们定义的宏Macro1,就可以查看其内容了。在此例中我们保存的宏命令如下:

   Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter 居中对齐
Selection.Font.Bold = wdToggle 加粗显示
Selection.Font.Size = 14 14号字

   因为宏命令的脚本语言是Vbscript,我们不需要做任何改动就可以将上面的语句在VB中使用。这样,我们就可以编写出如下VB代码,实现我们所要求的功能。代码如下:

   WdApp.Selection.Font.Bold = wdToggle 加粗显示
WdApp.Selection.Font.Size = 14 14号字
WdApp.Selection.TypeText (报表标题) 报表标题
WdApp.Selection.ParagraphFormat.lignment = wdAlignParagraphCenter 居中对齐
WdApp.Selection.Font.Bold = wdToggle 取消加粗

   同样,我们如想对Word文档进行其他处理,重复以上的步骤就可以了。以下提供我的一个完整的对Word文档进行处理的例子:

   Private Function SaveAsWord(ByRef MyRecord As Recordset, ByVal DocFileName As String, ByRef OutMessage As String) As Integer
*************************************************************************

说明:将数据集中的数据另存为DOC文件

参数:

MyRecord 数据集
DocFileName WORD文件的名称(无路径,路径见实例变量sPath)
OutMessage 操作的的返回信息

返回: 1成功 -1失败

*************************************************************************

初始化Word应用
err.Clear
On Error GoTo Err_All
Dim WdApp As Word.Application
Set WdApp = CreateObject(Word.Application)

   插入数据
Dim colloop As Integer 列号
Dim rowloop As Integer 行号
Dim colMax As Integer 列数


评论


亲,登录后才可以留言!