找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2595|回复: 9

[EXCEL] XD::Excel:isInstalled 判断EXCEL软件系统是否已安装

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-11-16 17:12:45 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::Excel:isInstalled
调用格式: (XD::Excel:isInstalled tf)
参数说明: tf ---- 非nil or nil
返回值: 参数 tf=nil, 返回T or NIL
参数 tf=非NIL,如果安装了EXCEL,返回对象名,否返回NIL
函数简介: 判断Excel是否安装
函数来源: 原创
函数作者: Newer
适用版本: 不限 
最后更新时间: 2014-11-16
备注: -
演示图片: -

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 newer 于 2014-11-16 17:13 编辑

  1. ;|
  2. 判断Excel是否安装
  3. 参  数:  tf  ---- 非nil or nil
  4. 返回值: 参数 tf=nil, 返回T or NIL
  5.         参数 tf=非NIL,如果安装了EXCEL,返回对象名,否返回NIL
  6. |;
  7. (defun XD::Excel:isInstalled (tf / obj)
  8.   (and
  9.     (setq obj (vlax-get-or-create-object "Excel.Application"))
  10.     (or
  11.       (and
  12.         (= tf nil)
  13.         (vlax-release-object obj)
  14.         (setq obj t)
  15.       )
  16.     )
  17.   )
  18.   obj
  19. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-16 17:44:58 | 显示全部楼层
一直这样用 ,以前在  XP 上使用,换 Windows 7 了 ,32位/64位 也没有问题,那些绿色安装可能不行
  1. (defun Current_OFFICE_Profiles_key (/ key $EA_PATH_OFFICE)
  2.   (vl-remove
  3.     nil
  4.     (mapcar
  5.       '(lambda (x)
  6.          (vl-registry-read x "PATH")
  7.        )
  8.       '("HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\8.0\\EXCEL\\INSTALLROOT"
  9.         "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\9.0\\EXCEL\\INSTALLROOT"
  10.         "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\10.0\\EXCEL\\INSTALLROOT"
  11.         "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\11.0\\EXCEL\\INSTALLROOT"
  12.         "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\12.0\\EXCEL\\INSTALLROOT"
  13.         "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\13.0\\EXCEL\\INSTALLROOT"
  14.         "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\14.0\\EXCEL\\INSTALLROOT" ;_Office 2010
  15.         "HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\OFFICE\\15.0\\EXCEL\\INSTALLROOT" ;_Office 2013
  16.        )
  17.     )
  18.   )
  19. )

启动 Excel
  1. (if (Current_OFFICE_Profiles_key)
  2.   (startapp
  3.     (strcat (car (Current_OFFICE_Profiles_key)) "Excel.exe")
  4.   )
  5. )

点评

EXCEL能多版本安装不?如果装了几个版本的EXCEL,那启动的是哪个呢?  详情 回复 发表于 2014-11-16 17:53
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2014-11-16 17:53:27 | 显示全部楼层
st788796 发表于 2014-11-16 17:44
一直这样用 ,以前在  XP 上使用,换 Windows 7 了 ,32位/64位 也没有问题,那些绿色安装可能不行

启动 ...

EXCEL能多版本安装不?如果装了几个版本的EXCEL,那启动的是哪个呢?

点评

说到安装多个版本,N 版这个启动的是哪个版本?  详情 回复 发表于 2014-11-16 22:23
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-16 17:59:01 | 显示全部楼层
newer 发表于 2014-11-16 17:53
EXCEL能多版本安装不?如果装了几个版本的EXCEL,那启动的是哪个呢?

版本多了都在表里,启动的是最低版本

点评

启动的应该是 xls 文件关联的那个版本吧?我想去找XLS关联的那个路径靠谱点。  详情 回复 发表于 2014-11-16 18:02
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2014-11-16 18:02:07 | 显示全部楼层
st788796 发表于 2014-11-16 17:59
版本多了都在表里,启动的是最低版本

应该让 xls 文件关联的那个版本启动吧?我想去找XLS关联的那个路径靠谱点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-16 18:25:49 | 显示全部楼层
本帖最后由 st788796 于 2014-11-16 18:28 编辑
newer 发表于 2014-11-16 18:02
应该让 xls 文件关联的那个版本启动吧?我想去找XLS关联的那个路径靠谱点。

  1. (defun Current_FileType_Associate (str / filetype)
  2.   (if (setq
  3.         filetype (vl-registry-read (strcat "HKEY_CLASSES_ROOT\\." str))
  4.       )
  5.     (vl-registry-read
  6.       (strcat "HKEY_CLASSES_ROOT\\" filetype "\\shell\\open\\command")
  7.     )
  8.   )
  9. )

_$ (Current_Filetype_Associate "txt")
"C:\\windows\\system32\\NOTEPAD.EXE %1"
_$ (Current_Filetype_Associate "xls")
"\"D:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" /dde"
_$ (Current_Filetype_Associate "xlsx")
"\"D:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" /dde"
_$
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2014-11-16 22:23:10 来自手机 | 显示全部楼层
newer 发表于 2014-11-16 17:53
EXCEL能多版本安装不?如果装了几个版本的EXCEL,那启动的是哪个呢?

说到安装多个版本,N 版这个启动的是哪个版本?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 81个

财富等级: 招财进宝

发表于 2014-12-5 22:18:09 | 显示全部楼层
我同学安装了EXCEL,启动文件是 EXCELNCS.EXE 不是 EXCEL.EXE

点评

所以用创建EXCEL对象的方法更可靠些。  详情 回复 发表于 2014-12-5 22:26
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-12-5 22:26:02 | 显示全部楼层
范建威 发表于 2014-12-5 22:18
我同学安装了EXCEL,启动文件是 EXCELNCS.EXE 不是 EXCEL.EXE

所以用创建EXCEL对象的方法更可靠些。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-12-5 22:29:48 来自手机 | 显示全部楼层
范建威 发表于 2014-12-5 22:18
我同学安装了EXCEL,启动文件是 EXCELNCS.EXE 不是 EXCEL.EXE

有和安装不等同,安装有一个标准,绿色版也是安装,但对二次开发这就是等同没有,要自己写
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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