这几年,做了很多word/excel/ppt方面的开发,特别是office插件/vsto/oba,和各种支持activex的ole嵌入环境下的应用。
基本上,了解了office对象模型,就可以在支持ole的环境下游刃有余的使用接口进行开发了。
不过office本身是不支持ole的,一般需要一个native的“外壳”包裹住,然后再在我们开发的环境下ole这个外壳。
例如,web页面或一般环境中,使用dsoframer。SWT中使用OleClientSite。
这里讲讲OleClientSite。
windows下,SWT中(OS类)封装了绝大部分常见的win32 api。而且SWT中的组件都是系统原生的,或是组合的,
所以调用Activex的窗口并交互成为了可能(AWT可以拿到原生窗口的句柄,也能别别扭扭的实现,纯swing不是原生的,所以是拿不到的),
OleClientSite封装了调用Activex并交互的细节。
大概的方式是:传给OleClientSite一个Activex的progID,初始化一个Activex,并挂接到制定的composite上,
然后根据容器对Activex调用设置大小长宽。接着,通过一个OleAutomation封装一个Activex中的原生对象的引用指针,
然后可以用getIDsOfNames根据属性名或是方法名获取对应id(做过mfc/atl-activex的都知道这个在IDL文件中注册的id)。
然后可以调用OleAutomation的 getProperty/setProperty/invoke/invokeNoReply 等方法,获取属性或调用相应的方法。
当然返回结果可能还是原生对象,可以继续用OleAutomation包装,然后重复上面的过程。
SWT还提供了一个通用的类型包装器,用来原生的几种常见c类型和java类型的转换:Variant。(很像vb里的那个吧)
------------------------------------- 想了解的看SWT源码和com本质论去 -----------------------------------
附件是一个嵌入word,并定位word文档中的字符串的例子。
ListOLE是传递一个OleAutomation,列出所有方法的工具类。源于网上。
txt文件夹提供了word.Application 和 word.Document对象的所有com接口方法和属性。
运行Word.java,展示word文件:
点击menu1,搜索定位字符串bbbbb:
分享到:
相关推荐
OleView OLE/COM OLE/COM对象浏览器
SWT通过OLE调用Excel,并对其进行操作。Eclipse3.3以上版本使用
在SWT中使用OLE操纵Excel入门培训文档,里面整理了很多资源,下载的请使劲戳
去OLE 使用共享库而不是cgo为Windows COM进行绑定。 松本康弘。 安装 要试验go-ole,您可以编译并运行示例程序: go get github.com/go-ole/go-ole cd /path/to/go-ole/ go test cd /path/to/go-ole/example/...
SWT 使用 OLE 函数调用com控件的资料 SWT 使用 OLE 函数调用com控件的资料SWT 使用 OLE 函数调用com控件的资料SWT 使用 OLE 函数调用com控件的资料 SWT 使用 OLE 函数调用com控件的资料
OLEDB驱动程序大全 MySQL-OleDB-Provider
含有相应的在visual studio中的配置描述;
ole file viewer ext.exe
里边包含pip、pyhon2.7.14、和OLE/COM
c++builder OLE操作word和excelOLE操作word和excel
OLEDB驱动程序大全 PostgreSQL-OleDB-Provider
ole32.dll olecnv32.dll olethk32.dll rpcltc1.dll rpcltc5.dll rpcltccm.dll rpclts5.dll rpcltscm.dll rpcns4.dll rpcrt4.dll rpcss.exe storage.dll stdole2.tlb stdole32.tlb imagehlp.dll ...
OLE(Object Linking and Embedding,对象链接与嵌入)使VB应用程序可以访问Windows环境中其他应用程序的对象,例如Word文档、Excel工作表等,这类对象称为OLE对象。VB能够访问的OLE对象取决于用户系统所安装的...
VC6 自带的 OLE/COM object view 就1个小文件方便使用
WINDOWS程序员使用指南--OLE-DDE WINDOWS程序员使用指南--OLE-DDE
通过读取控件的类型库,OLE/COM 对象查看器使您得以查看控件的接口
WORD是最常用的office 软件,本文讨论了在vc中控制word的方法,ole自动化一篇很好的文章,读了之后就会掌握这个技术
PI OLEDB Provider 2019 用户手册,PI(Plant Information System,PI)系统是一个直观显示企业生产过程的虚拟窗口。基于可靠的生产信息,管理者可以监控整个企业的运转。PI 实时地获取各个实际数据源的原始生产数据...
hay 3 versiones frances,españole ingles 提供3种语言的法语,西班牙语和英语。 / ------------------------------------即将推出 // - - - - - - - - - - - - - - - - - - - 很快 // -------------------------...
在BCB中,通过调用OLE,读写WORD文件。