nyistjz 发表于 2021-11-26 23:11:40

如何激活文档自动运行特定命令

本帖最后由 nyistjz 于 2021-11-30 10:36 编辑

假如我同时打开了“文档1“和“文档2”两个文件,如何在进入文档1时自动运行特定命令,返回文档2时,也同时运行特定命令。
如此循环,每次进入一个文档,都会自动运行同一个命令。

(vlr-docmanager-reactor nil '((:vlr-documentToBeActivated . av:jh)))
(defun av:jh()(alert "当前文档已被激活!")(princ))
上面这段,为什么无法运行,还请高手过来瞄一眼。

经过研究,写出了上面这两行,但是不太明白,为什么无法运行,还请明白人能不吝赐教,感谢

==========================================

13楼的朋友给出了解决办法!!!

nyistjz 发表于 2021-11-27 21:40:00

alexmai 发表于 2021-11-27 21:15
鼠标添加 “宏” 键

大侠,您好,我写了如下的代码,希望能实现激活文档即运行,但是目前没有反应,看您知道是哪里出了问题吗?

(vlr-docmanager-reactor nil '((:vlr-documentToBeActivated . av:jh)))
(defun av:jh()(alert "当前文档已被激活!")(princ))

nyistjz 发表于 2021-11-30 09:15:49

lijiao 发表于 2021-11-30 08:58
(or *changedoc* (setq *changedoc* (vlr-docmanager-reactor nil '((:vlr-documentToBeActivated . av:jh) ...

十分感谢,您这个已经满足了我的需求,谢谢!!!
不太会VBA,连这个LSP也是略看一点皮毛。

您改这个改写中,有两个变量a和b,这是怎么来了,有什么用?这一点看不明白 。

nyistjz 发表于 2021-11-28 10:06:55

这个激活文档即运行命令的功能,用lsp应该是可以实现的,有没有朋友知道怎么实现的,还请不吝赐教,感谢!

(vlr-docmanager-reactor nil '((:vlr-documentToBeActivated . av:jh)))
(defun av:jh()(alert "当前文档已被激活!")(princ))
上面这段,为什么无法运行,还请高手过来瞄一眼。

Bao_lai 发表于 2021-11-27 00:16:40

试试有没有反应器可用?

nyistjz 发表于 2021-11-27 08:11:19

Bao_lai 发表于 2021-11-27 00:16
试试有没有反应器可用?

不明白,不知道如何操作。

alexmai 发表于 2021-11-27 21:15:13

鼠标添加 “宏” 键

yanshengjiang 发表于 2021-11-27 22:28:03

(av:jh)直接一行代码 不是你想要的吗?开图就执行任务

nyistjz 发表于 2021-11-27 23:18:00

yanshengjiang 发表于 2021-11-27 22:28
(av:jh)直接一行代码 不是你想要的吗?开图就执行任务

开图运行一次无法满足要求,需要在图纸每激活一次,就运行一次 。

masterlong 发表于 2021-11-28 01:22:40

纯lisp是不可能实现你的要求的

masterlong 发表于 2021-11-28 01:28:09

opendcl里有个功能,可以实现你的要求。不过,以你的lsp基础,我感觉要真正实现怕是要下大功夫。你可以搜一下我的帖子,标题大概是“发个GIF”之类的,没有源码,简单提了下程序思路。
页: [1] 2
查看完整版本: 如何激活文档自动运行特定命令