找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 562|回复: 14

[求助] 关于操作EXCEL问题

[复制链接]

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2018-1-3 18:11:16 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 q3_2006 于 2018-1-3 18:14 编辑

打开EXCEL表格写数据到表里..如果有多个进程..(setq appxls (vlax-get-or-create-object "excel.application")
        wk (vlax-get-property appxls "ActiveWorkbook")
)

wk 有可能返回空..
如何关闭多个进程呢..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2018-1-3 18:51:54 | 显示全部楼层

我可能没说清楚...我的意思是如果有多个进程了..再打开表格写数据..(vlax-get-property appxls "ActiveWorkbook")有可能返回空...可能不知道当前工作表是哪个..
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-1-3 18:30:15 | 显示全部楼层
写程序时候就尽量避免不多生成,或者 用完释放呗
  1. (or
  2.   **appxls**
  3.   (setq **appxls** (vlax-get-or-create-object "excel.application"))
  4. )


这样设个全局的变量 **appxls** 比较好,就创建一次对象,以后直接用

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2018-1-3 18:38:06 | 显示全部楼层

如果已经有多个进程了..如果关闭呢..vlax-release-object 并没起作用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-1-3 18:48:23 | 显示全部楼层

你创建的不是进程,是ACTIVEX对象,在ACAD进程里面,和ACAD共享内存空间,你当进程杀不了的。你的变量名总是一个,所以其他的创建的对象你引用不了了。也就用 vlax-release-object 释放不了了,变量名就是指向某个内存的指针。
一定时间AUTOCAD会自动回收。
你也可以试试(gc)

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2018-1-3 19:57:50 | 显示全部楼层

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

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2018-1-4 09:28:25 | 显示全部楼层

activebooks 为 nil 说明没有创建的 ActiveX 对象,需要在 books 中 Add 一个

系统进程中的 Excel 不一定是 ActiveX 对象

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2018-1-4 10:35:15 | 显示全部楼层
本帖最后由 q3_2006 于 2018-1-4 10:36 编辑

没有哟..我是先打开EXCEL写数据的..肯定开了..我查了问题..如果有多个excel进程时才可能出错..并不是都会出错..才烦人
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2018-1-4 10:51:51 | 显示全部楼层

这个问题早就存在,你启动的 Excel 是应用程序进程,使用 vlax-get-or-create-object 创建和获取的是 ActiveX 对象,获取或创建后使用 vla-put-visible :vlax-true ,这个显示出来的 Excel 就具有两个属性了

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

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2018-1-4 10:56:44 | 显示全部楼层
BTW:据说卸载 Office 然后重新安装可以解决问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2018-1-4 10:56:51 | 显示全部楼层

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

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2018-1-4 11:02:06 | 显示全部楼层
(startapp "taskkill /F /IM EXCEL.EXE /T")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2018-1-4 11:30:12 | 显示全部楼层
tasklist /FI "IMAGENAME eq excel.exe" 列出Excel进程

taskkill /f /fi "IMAGENAME eq excel.exe" 杀死 excel 进程
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-1-4 11:40:03 | 显示全部楼层

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

 楼主| 发表于 2018-1-4 11:46:10 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-23 22:28 , Processed in 0.470357 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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