在做程序时,用到了vba。需要调用word,可是在调用word的时候,出现了office版本的问题。编程的时候用的是office 2003,vb中引用的是microsoft word 11.0 object library.可是把软件换到另外一台机器上,人家装的是office xp,程序出现了引用中丢失microsoft word 11.0 object library,才想起来,office xp中object library是10.0.
我想应该可以在程序中先检测一下机器中office 的版本,然后再根据不同的版本来调用library.
请问该怎么做????能不能给点代码!!!!
谢拉2!!·

解决方案 »

  1.   

    用低版本的office 吧.一般都是向下兼容的,客户是高版本的也没问题.
      

  2.   

    难道就不能做一个先检测版本,然后再根据版本的不同来调用不同的Library???????
      

  3.   

    在word的宏里写:
    MsgBox Word.Application.Version
      

  4.   

    office xp
    应该不同的吧
      

  5.   

    刚才试过了,程序中引用的WORD版本是XP,到装有WORD2000的机器上运行正常。
      

  6.   

    jam021(jam)
    你的意思是不是先要用户输入他自己机器的office 版本号,然后再调用Library啊?〉??
    但是我想应该可以编程实现自己检测用户机器里的office 版本号,不知道我的想法对不对???
    VBDN(王水云) 
    你看看word xp 和word 2000 的Object library是不是同一版本号〉?
    反正我碰到的是word xp 和word 2003 不是的,其中xp是10.0,2003是11.0
    而且不能兼容!!!!
    再次gz~~~~~~~~~~~~~~~~~~~~
      

  7.   

    顶先,再找各位前辈帮小弟一个忙,做个VB特别简单的查询系统,具体的条件我们可以QQ上聊,谢谢哪位好心人帮帮小弟,实在是急呀,再不做好,就要下岗!小弟这里有礼了!!!!!!!!!!在线等QQ11060006
      

  8.   

    1 使用低版本。这样打包时是版本号比较低的库文件。
    2 安装时,如果出现某文件“不比当前的版本更新……”之类的提示时,保留机上原有版本。这样才会“向下兼容”。你试试用 Word 97。
      

  9.   

    我的意思是:用程序是可以判断出当前office的版本.
    至于你说的想让程序根据版本的不同来引用不同的库,我没做过,引用的时候都是手工点工程-引用做的,用程序可以自动引用吗?关注一下
      

  10.   

    //但是我想应该可以编程实现自己检测用户机器里的office 版本号
    当然可以啊,你在VB里写:
    Private Sub Command1_Click()
    Set wordApp = CreateObject("Word.Application")
    MsgBox wordApp.Application.Version
    End Sub
      

  11.   

    ============================终极解决方案====================
    [思    路]
      用CreateObject函数。这个函数不需要你引用Word,当然也不会涉及到Word的版本啦!
    [测试例子]
      Private Sub Command1_Click()
          Dim MyWord
          Set MyWord = CreateObject("Word.Application")
          MyWord.Visible = True
      End Sub