选择文件夹程序需求更改
论坛找到一个程序,是选择文件夹路径的,现在的默认路径好像是桌面,怎样更改为当前打开的文件所在路径(defun cfe_getFolder (msg / WinShell shFolder path catchit)
(vl-load-com)
(setq winshell (vlax-create-object "Shell.Application"))
(setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))
(setq
catchit (vl-catch-all-apply
'(lambda ()
(setq shFolder (vlax-get-property shFolder 'self))
(setq path (vlax-get-property shFolder 'path))
)
)
)
(if (vl-catch-all-error-p catchit)
nil
path
)
)
llsheng_73 发表于 2014-10-19 18:38
N年前从明经还是什么地方抄的
感谢分享🙏 大神牛牛牛牛牛! (vlax-invoke-method winshell 'browseforfolder 0 msg 1 startpath) 有必要這麼累嗎?
(getvar "dwgprefix") lsjj 发表于 2014-10-11 11:56 static/image/common/back.gif
有必要這麼累嗎?
(getvar "dwgprefix")
呵呵呵,初始的为当前打开的文件所在路径,但是我并不一定是选择这个文件夹,我可以选别的啊 USER2128 发表于 2014-10-11 11:47 static/image/common/back.gif
(vlax-invoke-method winshell 'browseforfolder 0 msg 1 startpath)
这样不能选择当前文件夹的上一级啊,只能选当前文件夹跟当前文件夹的下面级别的文件夹 你别纠结了,采用DOSLIB吧,文件操作之类的问题,都可以迎刃而解 USER2128 发表于 2014-10-11 14:27 static/image/common/back.gif
你别纠结了,采用DOSLIB吧,文件操作之类的问题,都可以迎刃而解
我不懂DOSLIB,只会LISP 菜卷鱼 发表于 2014-10-11 15:16 static/image/common/back.gif
我不懂DOSLIB,只会LISP
doslib是一个插件,有命令帮助的 (defun GetFolder (msg / shFolder path catchit);选取文件夹
(if(vl-catch-all-error-p
(setq shFolder(vlax-invoke-method(vlax-create-object "Shell.Application")'BrowseForFolder 0 msg 1)
catchit(vl-catch-all-apply'(lambda()(setq shFolder(vlax-get-property shFolder'self))
(setq path(vlax-get-property shFolder'path))))))nil path))
N年前从明经还是什么地方抄的 llsheng_73 发表于 2014-10-19 18:38 static/image/common/back.gif
N年前从明经还是什么地方抄的
你的跟我的一个效果
页:
[1]
2