明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2208|回复: 3

如何用VLISP检测或取得Office的版本信息?

[复制链接]
发表于 2002-9-3 08:52:00 | 显示全部楼层 |阅读模式
具体一点,在VLISP程序中如何检测或取得EXCEL的版本信息,因为在VLISP中需要联接EXCEL类型库,而不同版本的EXCEL有不同的类型库文件(如:EXCEL 97的类型库文件为Excel8.olb;而EXCEL 2000的类型库文件却为Excel9.olb).如何有效确定其版本信息呢?
相关程式如下
(vl-load-com)
;;; EXCEL 97
  (if (= nil xlsc-xl24HourClock)
    (vlax-import-type-library
      :tlb-filename "Excel8.olb" :methods-prefix "xlsm-"
      :properties-prefix "xlsp-" :constants-prefix "xlsc-"
     ) ;_ end of vlax-import-type-library
  ) ;_ end of if
  (setq xls (vlax-get-or-create-object "Excel.Application.8"))
;;; EXCEL 2000
(if (= nil xlsc-xl24HourClock)
    (vlax-import-type-library
      :tlb-filename "Excel9.olb" :methods-prefix "xlsm-"
      :properties-prefix "xlsp-" :constants-prefix "xlsc-"
     ) ;_ end of vlax-import-type-library
  ) ;_ end of if
  (setq xls (vlax-get-or-create-object "Excel.Application.9"))
发表于 2002-9-3 11:25:00 | 显示全部楼层

比较麻烦,可能只有搜索注册表了...

发表于 2002-9-3 19:36:00 | 显示全部楼层

判断计算机是否安装了Excel

本帖最后由 作者 于 2002-9-3 19:36:42 编辑

;;;==================================================;
;;;判断计算机是否安装了Excel,是返回T,否返回nil         ;
;;;==================================================;
(defun vl_ExcelIsOk ()
  (Or
    (vl-registry-read                        ;Excel 97
      "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\8.0\\Excel\\InstallRoot"
      "ath"
    )
    (vl-registry-read                        ;Excel 2000
      "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\9.0\\Excel\\InstallRoot"
      "ath"
    )
    (vl-registry-read                        ;Excel XP
      "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\10.0\\Excel\\InstallRoot"
      "ath"
    )
    (vl-registry-read                        ;Excel 未来版本
      "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\11.0\\Excel\\InstallRoot"
      "ath"
    )
    (vl-registry-read                        ;Excel 97
      "HKEY_CLASSES_ROOT\\TypeLib\\{00020813-0000-0000-C000-000000000046}\\1.2\\0\\win32"
      ""
    )
    (vl-registry-read                        ;Excel 2000
      "HKEY_CLASSES_ROOT\\TypeLib\\{00020813-0000-0000-C000-000000000046}\\1.3\\0\\win32"
      ""
    )
    (vl-registry-read                        ;Excel XP
      "HKEY_CLASSES_ROOT\\TypeLib\\{00020813-0000-0000-C000-000000000046}\\1.4\\0\\win32"
      ""
    )
    (vl-registry-read                        ;Excel 未来版本
      "HKEY_CLASSES_ROOT\\TypeLib\\{00020813-0000-0000-C000-000000000046}\\1.5\\0\\win32"
      ""
    )
  )
)
 楼主| 发表于 2002-9-4 08:35:00 | 显示全部楼层

十分感谢

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 17:57 , Processed in 0.153247 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表