找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 867|回复: 10

[分享]:Unload VBA projects in network environment

[复制链接]
发表于 2005-3-8 14:10:04 | 显示全部楼层 |阅读模式

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

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

×
  1. ;;; Unload all loaded VBA projects in local network environment
  2. ;;; Aidraft 4/3/2005

  3. (defun UnLoadAllVbaProjs  (/ AllPrjs IntCnt proj FSO FileName drives DriveLetter ShareName)
  4.   (setq FSO (vlax-create-object "Scripting.FileSystemObject"))
  5.   (setq drives (vlax-get-property FSO "drives"))

  6.   (or acadobj (setq acadobj (vlax-get-acad-object)))
  7.   (setq AllPrjs (vlax-get-property
  8.                  (vla-get-VBE acadobj)
  9.                  'VbProjects
  10.                  )
  11.         IntCnt 1
  12.         )
  13.   (repeat (vla-get-count Allprjs)
  14.     (setq proj (vla-item Allprjs IntCnt))
  15.     (if (or (= (vl-catch-all-error-p
  16.                  (setq FileName (vl-catch-all-apply 'vla-get-FileName (list proj))))
  17.                T)
  18.             (= (vla-get-Saved proj) :vlax-false))
  19.       (progn
  20.         (alert
  21.           (strcat
  22.             """
  23.             (vla-get-Name proj)
  24.             "" has not saved or no path found.\nRun _vbaman and unload it manually"))
  25.         (setq IntCnt (1+ IntCnt))
  26.         )
  27.       (progn
  28.         (vlax-for drv drives
  29.           (setq DriveLetter (vlax-get-property drv 'DriveLetter)
  30.                 ShareName   (vlax-get-property drv 'ShareName))
  31.           (if (and (vl-string-search ShareName FileName) (/= ShareName ""))
  32.             (setq FileName (vl-string-subst (strcat DriveLetter ":") ShareName FileName))
  33.             ) ; end if
  34.           ) ; vlax-for
  35.         (vla-UnloadDVB acadobj FileName)
  36.         ) ;progn
  37.       ) ;end if
  38.     );repeat
  39.   (vlax-release-object FSO)
  40.   (if (> IntCnt 1)
  41.     (princ
  42.       (strcat "\n" (itoa (1- IntCnt)) " project(s) cannot be unloaded.
  43.                  \nPlease save them first or unload them manually.")))
  44.   (princ)
  45.   )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-8 19:06:18 | 显示全部楼层
兄弟,麻烦给个中文说明,谢谢啦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-8 20:03:26 | 显示全部楼层
把VBA都干掉,你太狠了,不给偶留口饭吃,:)
调用的是VBE,可以看看VBA编辑器里的帮助

有个问题,如果VBA用Lisp调用,且使用完整路径,该方法好像没什么效果,最好是把文件直接删掉:)(不过这样也太。。。)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-9 08:05:35 | 显示全部楼层
有个问题,如果VBA用Lisp调用,且使用完整路径,该方法好像没什么效果

All my VBA projects are loaded with Lisp with full path. And I have no problems to get rid of them.
Can you please attach an example with problem here so I can fix the routine. Many thanks. The Date Picker you gave me did a great job:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-9 10:29:53 | 显示全部楼层
用下列方式调用的代码:
(defun c:TTT()
(vla-RunMacro (vlax-get-acad-object) "c:\test.dvb!test1")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-9 11:23:45 | 显示全部楼层
最初由 lzh741206 发布
[B]用下列方式调用的代码:
(defun c:TTT()
(vla-RunMacro (vlax-get-acad-object) "c:\test.dvb!test1")
) [/B]


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

使用道具 举报

发表于 2005-3-9 12:22:55 | 显示全部楼层
UnLoad是可以,但是再调用TTT命令又会加载它的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-9 13:07:54 | 显示全部楼层
把注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R16.0\ACAD-201:804\Applications\AcadVBA
项目改名呢?
谁来试试?:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-9 13:53:02 | 显示全部楼层
最初由 lzh741206 发布
[B]UnLoad是可以,但是再调用TTT命令又会加载它的 [/B]


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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-3-10 00:19:41 | 显示全部楼层
最初由 狂刀 发布
[B]把注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R16.0\ACAD-201:804\Applications\AcadVBA
项目改名呢?
谁来试试?:) [/B]


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

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-3-10 00:47:57 | 显示全部楼层
DIM WSH
SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL")
WSH.Regwrite"HKCU\Software\Micro
soft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",0,"REG_DWORD"

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 23:00 , Processed in 0.199446 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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