专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »VB教程 » vb查找替换:vb控制word的类模块,查找、替换Word文档内容-vb教程 »正文

vb查找替换:vb控制word的类模块,查找、替换Word文档内容-vb教程

来源: 发布时间:星期四, 2008年9月25日 浏览:120次 评论:0
VB6.0中,操作word,使用它强大的查找、替换、删除、复制、翦切功能。还可以把特定字符替换成图片。有了它你就可以使用数据库中的内容或图片文件替换word文件中的特定字符。

  只要把下列内容复制到写字板中,另存为SetWord.cls文件,然后在把它添加到工程中,就可以使用了。

VERSION 1.0 CLASS
BEGIN
MultiUse = -1 ´True
Persistable = 0 ´NotPersistable
DataBindingBehavior = 0 ´vbNone
DataSourceBehavior = 0 ´vbNone
MTSTransactionMode = 0 ´NotAnMTSObject
END
Attribute VB_Name = \"SetWord\"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Private mywdapp As Word.Application
Private mysel As Object

´属性值的模块变量
Private C_TemplateDoc As String
Private C_newDoc As String
Private C_PicFile As String
Private C_ErrMsg As Integer

Public Event HaveError()
Attribute HaveError.VB_Description = \"出错时激发此事件.出错代码为ErrMsg属性\"
´***************************************************************
´ErrMsg代码:1-word没有安装 2 - 缺少参数 3 - 没权限写文件
´ 4 - 文件不存在
´
´***************************************************************

Public Function ReplacePic(FindStr As String, Optional Time As Integer = 0) As Integer
Attribute ReplacePic.VB_Description = \"查找FindStr,并替换为PicFile所指向的图片文件,替换次数由time参数确定,为0时,替换所有\"

´********************************************************************************
´    从Word.Range对象mysel中查找所有FindStr,并替换为PicFile图像
´ 替换次数由time参数确定,为0时,替换所有
´********************************************************************************

If Len(C_PicFile) = 0 Then
C_ErrMsg = 2
Exit Function
End If

Dim i As Integer
Dim findtxt As Boolean

mysel.Find.ClearFormatting
mysel.Find.Replacement.ClearFormatting
With mysel.Find
.Text = FindStr
.Replacement.Text = \"\"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
mysel.HomeKey Unit:=wdStory
findtxt = mysel.Find.Execute(Replace:=True)
If Not findtxt Then
ReplacePic = 0
Exit Function
End If
i = 1
Do While findtxt
mysel.InlineShapes.AddPicture FileName:=C_PicFile
If i = Time Then Exit Do
i = i + 1
mysel.HomeKey Unit:=wdStory
findtxt = mysel.Find.Execute(Replace:=True)
Loop
ReplacePic = i
End Function

Public Function FindThis(FindStr As String) As Boolean
Attribute FindThis.VB_Description = \"查找FindStr,如果模板中有FindStr则返回True\"
If Len(FindStr) = 0 Then
C_ErrMsg = 2
Exit Function
End If
mysel.Find.ClearFormatting
mysel.Find.Replacement.ClearFormatting
With mysel.Find
.Text = FindStr
.Replacement.Text = \"\"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
mysel.HomeKey Unit:=wdStory
FindThis = mysel.Find.Execute

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: