我在用vb对word进行二次开发时发现word中vba的版本不同,同一个索引号却指向不同的对象。
如:
word中的表格
_________________________________
|________________________________|
|      |______|______|___________|
|      |______|______|___________|
|      |______|______|___________|
|______|_________________________|
如果同样执行activedocument.table(1).cell(2,2).select不同版本选中的单元格不同。
我想把我机器上的word运行库打包发布,程序执行时都用我打包的运行库,好有一个统一的标示。
怎样才能让程序使用我的msword9.olb而不是用户自己的?(不太愿意覆盖别人的库)

解决方案 »

  1.   

    用CreateObject的方法创建对象,对象说明文字带路径
      

  2.   

    安装包,同目录   当程序要用到,外部调用时,会在windows目录\system目录\admin\目录等几个目录去寻找
    但是第一个寻找的是自身目录,所以安装到同目录就可以解决这个问题
      

  3.   

    office 的不行,必须和机器上的软件统一,word 使用的不光是 msword9.olb,他只是完成对 word.exe的调用而已
      

  4.   

    我也拒绝的光一个msword9.olb不够,就是不知道还需要其他什么库?
      

  5.   

    office 的不行,必须和机器上的软件统一,word 使用的不光是 msword9.olb,他只是完成对 word.exe的调用而已
    这是很对的,你的机器上安装了版本的office 你就必需和它统一,没有办法,这就是调用外部应用的缺点
    其实在EXCEL 这样的功能,用其它第三方的控完全可以达到,我以前也是有EXCEL 现在完全抛弃了它,
    建议你用:表格用vsflexgrid truegrid 报表用:vsprint  Activereport
      

  6.   

    就使用CreateObject,不直接引用,如果对方的机器没有安装Word,就提示一下,不能使用