我是在xp下用vb调用office2003生成程序,但引用是office14 object library,现在要在win7下使用,win7下装了office2007和wps,可是运行时,调用excel只是一闪屏,并未出现excel界面,怎么办

解决方案 »

  1.   

    office 14 是MS Office 2010,而2007的是office 12、记得2003应该是office 10的。真不知道你是如何去引用的…………
    并且,你同时安装wps和MS Office,它俩之间的COM类型库好像是有冲突的。
    如果你安装了wps,这个“Excel对象”好像就是金山的et对象了,不会再调用到MS的Excel接口。
    建议你先还是“清理一下环境”再说吧。反正我是从来不用“静态引用”的方式,
    都是采用CreateObject( )创建的Excel.Application对象,根本不用去管“版本”问题。
    似乎还没出过什么问题。
      

  2.   

    chen8013
    我有两个问题,第一,是不是引用了哪个版本的office,在使用环境就要使用这个版本的office,用别的版本不行。第二,如果装了wps和office,是不是删除wps就可以恢复到正常office调用环境,谢谢
      

  3.   

    哈哈,我刚开始编程也遇到这个问题还整了好久。。
    appplication.visiale=true;;;;;
      

  4.   

    第一个: 在“开发环境”下,似乎是“固定的”,你的工程引用的是哪个版本的库,
      “换一台机子”打开工程,好像也要求是相同版本的库。
      (记得前段时间,论坛中好像有人问过,因为引用的“库的版本”不同,造成工程不能运行)
       但编译后的exe好像就没这个要求了: 我先前弄了一个简单的程序试了一下,
      Win7/64位/Office2007, WinXP/Office2003。
      操作就是创建ExcelApp对象、显示出Excel窗口、新建一个工作簿、关闭、退出。
      这两个系统中,各自引用对应的库,然后编译成exe、到另一个系统中运行,都是正常的。第二个: 这个似乎不行。以前接触过金山wps,它卸载后不会把屁股擦干净,很多注册信息都没清理掉。
      反正行不行,你自己试了再说啊,这些软件又不是我开发的,会有哪些问题我哪说得清?
      先卸载掉wps,如果有问题,找工具软件清理一下注册表,再把MS Office重装一下。
      (最好是先把两个都卸载了,再清理注册表、然后再重新安装Office)
      反正你要先保证在MS Office的各个环境下没问题,再考虑“与金山wps兼容”的问题。
      自己的程序都还不能“正常”运行,就去搞“兼容性”的问题,你不觉得走错了方向? 另外一点:
    你在XP下安装的是2003,干吗去引用2010的库(我也感到奇怪:哪来的2010的库给你引用?)!!!
    自己的水平没达到“绝世高手”级别,就别想着去“玩花样”!
    中规中举的来做,才是王道…………
      

  5.   

    第一个: 在“开发环境”下,似乎是“固定的”,你的工程引用的是哪个版本的库,
      “换一台机子”打开工程,好像也要求是相同版本的库。
      (记得前段时间,论坛中好像有人问过,因为引用的“库的版本”不同,造成工程不能运行)
       但编译后的exe好像就没这个要求了: 我先前弄了一个简单的程序试了一下,
      Win7/64位/Office2007, WinXP/Office2003。
      操作就是创建ExcelApp对象、显示出Excel窗口、新建一个工作簿、关闭、退出。
      这两个系统中,各自引用对应的库,然后编译成exe、到另一个系统中运行,都是正常的。第二个: 这个似乎不行。以前接触过金山wps,它卸载后不会把屁股擦干净,很多注册信息都没清理掉。
      反正行不行,你自己试了再说啊,这些软件又不是我开发的,会有哪些问题我哪说得清?
      先卸载掉wps,如果有问题,找工具软件清理一下注册表,再把MS Office重装一下。
      (最好是先把两个都卸载了,再清理注册表、然后再重新安装Office)
      反正你要先保证在MS Office的各个环境下没问题,再考虑“与金山wps兼容”的问题。
      自己的程序都还不能“正常”运行,就去搞“兼容性”的问题,你不觉得走错了方向? 另外一点:
    你在XP下安装的是2003,干吗去引用2010的库(我也感到奇怪:哪来的2010的库给你引用?)!!!
    自己的水平没达到“绝世高手”级别,就别想着去“玩花样”!
    中规中举的来做,才是王道…………

    静态引用是固定的,(dim xx as new ...),在程序编译的时候就把类ID绑定进去了,换个机子,换个office版本就不行了
    动态引用是可变的,就是createobject那是,属于后期绑定,是程序运行的时候才绑定对象
    我都是appplication.visiale=true