在PB中实现全文检索
在宏编辑器中输入如下代码:
Sub Macro1()
’用同样的方法我们可以获得所有常量的真实值
Msgbox(wdCell)
End Sub
全文检索示例
下面给出了一个完整的例子,该实例实现了对Word文档的全文搜索,并替换指定的字符串。部分关键代码如下。
首先我们假定某数据库中含有表t_oledoc,表结构大致如下:
下面的代码完成全文搜索,并将特定文字替换:
//建立PB与OLE 服务器(Word)的连接,唤醒OLE服务器
BLOB blb_tmp
SetNull(blb_tmp)
SELECTBLOB t_oledoc.c_docomnt INTO :blb_tmp
FROM t_oledoc
WHERE t_oledoc.c_id =:id
//id 为用户输入的变量
USING SQLCA;
// ole_1 为OLE控件,将其放置于某一窗口
If Not IsNull(blb_tmp) Then
ole_1.ObjectData = blb_tmp
End If
//Word中Find对象的Excute()方法:
//exdivssion.Execute(FindText, MatchCase, MatchWholeWord,MatchWildcards,MatchSoundsLike,MatchAllWordForms, Forward, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics, MatchAlefHamza, MatchControl)
FindText = var_findtxt
//var_findtxt 为外部输入的要搜索的值
MatchCase = true
MatchWholeWord = true
MatchWildcards = false
MatchSoundsLike = false
MatchAllWordForms = false
Forward = true
Wrap = 1
//可通过前面介绍的方法获得枚举常量的值
Format = false
ReplaceWith = var_reptxt
//var_reptxt 为外部输入的要替换成的值
Replace = 2
MatchKashida = false
MatchDiacritics = false
MatchAlefHamza = false
MatchControl = false
//执行Excute()函数
ole_1.object.Selection.find.Execute(FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format,ReplaceWith,Replace,MatchKashida,MatchDiacritics,MatchAlefHamza,MatchControl)
借助上面介绍的方法,我们可以通过在PB中调用Word的方法实现对存放于数据库中Blob字段里的文档的全文搜索。同样,与OLE控件对应的不可视对象Oleobject,我们可以将其运用到Jaguar组件中,并利用其开发Web应用。
Photoshop入门教程 | Photoshop实例教程 | Photoshop cs教程 | 滤镜 鼠绘 |
Photoshop照片处理 | Photoshop视频教程 | Photoshop作品展示 | 特效 抠图 |