怎样理解用Tolecontainer,excel_tlb及vba三种方法达到用自编程序控制应用软件的区别? (100分)

  • 主题发起人 主题发起人 yongkw
  • 开始时间 开始时间
Y

yongkw

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样理解用Tolecontainer,excel_tlb及vba三种方法达到用自编程序
控制应用软件的区别?
不好意思我是一个新手,很高兴和大家认识,由于前不久遇到一个关于用delphi3控制excel做报表的问题才通过bbs得知这个网站的,并于昨天注册成功,浏览了一番得益非浅,希望以后能向各位高手朝夕请教!
BTW: v.Workbooks.Open(filename)语句中如果要设置成可修改方式打开如何使用参数?
 
olecontainer和vba其实都是ole方法来调用程序, 只要程序支持ole, 就可以实现
这种方法. 至于excel_tlb嘛, 没用过, 但应该是用delphi的方法来包含了一些程
序的方法属性, 是类似activex的方法.
 
但是在应用上各有何区别和优缺点呢?
我在excel的vb编辑器上能看到许多函数和属性,但是有些在用excel_tlb方式时
却不能用,其它两种方法如何?
 
Tolecontainer:是一个OLE对象的容器,可以包含一个OLE对象,如果要对
这个对象实体进行操作,就必须激活它。如果不激活,只能得到
该对象的Interface.
VBA: 是指使用OLE自动化建立对象,注意OLE自动化和OLE不同,支持OLE的不一定
支持OLE自动化(如画图板对象)。
tlb:是Delphi中关于OLE服务器的库声明,也就是象声明了一个函数、常量的接口
然后在程序中可以使用这些函数,就相当与USES了一个专门的单元。

比较:从功能上来说
tlb>VBA>Tolecontainer
 
都是OLE,只不过tlb对VBA的支持更全面些,使用大同小异,喜欢哪个用哪个吧。这
并不同于比较asp,cgi与isapi。 :)
 
可不可以认为excel中宏的原码或用excel中basic语言编的原码就是
vba方式。而tlb方式只是delphi包装了vba中的基本函数而成的一个专用单元?
即vba是调用excel本身的接口,而tlb和Tolecontainer则是通过一个delphi的
相关单元来调用excel的接口函数。如果是这样的话Tolecontainer
调用的是什么单元?

 
ole 只是简单的“连接”,好象古老了点,呵呵,1.0的东西嘛,虽然有扩展。
tlb 实际上不是DELPHI有的,是C它们用的,包含了COM对象的许多信息,DELPHI
可以把他转换为XXX_TLB.PAS使用
VBA 是自动化的一种实现,是我觉得COM对象最有用的地方之一,控制其它程序运行
 
1.OLE于COM及ActiveX,本质上说三者基本上是发展的关系,如果你读过早期的OLE文档,你就会发现在某些章节中总汇炫耀一下COM相关的东西,不过那时候COM这个词还不流行.ActiveX更像Class的VCL实现,目前而言,不管谈论那一个,实际其底层技术值得都是COM这一套.
2.TLB是组件对象的类型信息库,无实际处理部分,你可以使用一个IDL文件生成一个TLB文件,这足以解释TLB仅仅是一个描述性的文件,你可以把她理解为C的头文件一样的意义.
3.我所知道的VBA只有一种,全称是Vistual Basic For Application,M$的脚本语言.
 
多人接受答案了。
 

Similar threads

后退
顶部