首先下载dsoframer.ocx
http://download.csdn.net/download/wolfalcon/9397898
解压后DsoFramer_KB311765_x86.exe直接安装是1.3版本。文件夹内.ocx文件是2.2版本。如需2.2版本可以将文件拷入32位系统c:\windows\system32下,64位系统c:\windows\syswow64下而后注册即可。注册方法 regsvr32.exe c:\windows\system32\dsoframer.ocx
注册后在pb中就能够看到这个ole组件方法是:在pb菜单中选择insert——control——ole...——在弹出的ole object对话框中选择insert control页。
这里要插一句如果在64位win7下点击insert control pb崩溃。解决办法如下:
在运行里输入CMD ,进入DOS状态下,输入如下命令,可以批量注册*.DLL,*.ocx。
For %c in (c:\windows\system32\*.dll) do regsvr32.exe /s %c
For %c in (c:\windows\system32\*.ocx) do regsvr32.exe /s %c
如果执行以上两条不行再执行以下语法
操作系统32位:
regsvr32 /u c:\windows\system32\aliedit\aliedit.dll
操作系统64位:
regsvr32 /u c:\windows\SysWOW64\aliedit\aliedit.dll
组件的版本信息、属性、方法都在这里显示,如不会使用在网上查找对应的资料后再使用就不会有问题。
组件插入到页面以后效果如图:
那么如何操作word组件呢?如果新建文档、打开现有文档、操作文字呢?
在上一步中看过接口文档就知道,代码很简单只要运用相应函数即可
oleobject o1
o1 = create oleobject
o1 = ole_1.object
//新建word文档
o1.createnew("word.document") / /这里如果直接使用ole_1.object.createnew("")会出现异常。因此在这里用o1=ole_1.object做一个引用赋值。另外网上有一些说法用
/ /o1.connecttonewobject("word.application")没有效果
//打开word文档
o1.open("e:\********.doc")
//隐藏标题烂。就是上图中控件上方的蓝色条框。
o1.TitalBar(false)
//隐藏菜单工具栏。就是上图中控件上方的灰色条框。
o1.menubar(false)
那么如何操作word当中的文字呢。这里可以利用word中的书签和dsoframer.ocx组件中的setfieldvalue()函数实现。
打开一个word文档,在word文档中插入一个书签命名为book1
在pb的窗口中放置一个按钮在按钮的cilick事件中写如下代码:
oleobject o2
o2 = create oleobject
o2 = ole_1.object
o2.setfieldvalue("book1", "替换文字", "")
第三个函数在这里设置为空即可。第三个函数有如下选择(带两侧::::):
::ADDMARK::
::DELMARK::
::GETMARK::
:::FILE:
等等。这个函数在网上有详细的介绍,但是这里有个问题,在测试过程中使用::ADDMARK::可以正常运行。但是换成::GETMARK::后运行出现external function异常。