nataca 发表于 2022-7-6 07:41:01

如何打开和关闭文件夹

如何使用visual lisp打开和关闭文件夹?
我有一条路(例如:“D:\\PROJECTS\2010”)

pBe 发表于 2022-7-6 07:53:11

 
一种方法是

(defun openw (fldr)
(startapp "explorer" fldr)
)

 
(openw“D:\\项目\ 2010”)

nataca 发表于 2022-7-6 07:54:54

谢谢
李帮了我

(defun Explore ( Directory / Shell result )
(setq Shell(vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application"))
(setq result (vl-catch-all-apply 'vlax-invoke (list Shell 'Explore Directory)))
(vlax-release-object Shell)
(not (vl-catch-all-error-p result))
)
但我仍然无法关闭文件夹

Ace 发表于 2022-7-6 08:05:36

这可能会有所帮助

;;;CADALYST 10/06   Tip2158: Directory.lsp   Directory   (c) Mark Newman

;;; Created by Mark Newman : June 2002
;;;
;;----
;;----
(DEFUN C:DIRECTORY (/)
(STARTAPP "EXPLORER" (GETVAR "DWGPREFIX"))
(PRINC)
)
;;----
;;----

Bill Tillman 发表于 2022-7-6 08:11:40

我需要一种方法让我们的用户打开特定文件夹中的文件。不是上次访问的文件或特定打开文件的来源文件夹。尝试使用Open命令不起作用,因此我使用类似的“startapp”在映射到服务器位置的T:\驱动器中打开Explorer:
 
^C^C^P(startapp "Explorer T:")
 
这可行,但我只想要*。dwg文件出现在列表中并添加\*。dwg到上述命令对其没有影响。

Lee Mac 发表于 2022-7-6 08:20:22

(getfiled "" "T:\\" "dwg" 16)

Bill Tillman 发表于 2022-7-6 08:26:15

李,
 
谢谢我不得不再次检查我的语法,但这是可行的。再次感谢。
 
顺便说一句,你能去那里看奥运会吗?

Lee Mac 发表于 2022-7-6 08:33:37

 
我当然是!节目中有一些很棒的天才,绝对吸引人

Bill Tillman 发表于 2022-7-6 08:36:37

尤其是荷兰女子曲棍球队。哈巴哈巴!
 
为了完成这一点,我最终做了以下工作:
 

(defun c:open4chk (/ fname)
(vl-load-com)
(setq fname (getfiled "" "T:/" "dwg" 16))
(vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) fname))
)

 
效果很好。再次感谢。

Lee Mac 发表于 2022-7-6 08:41:58

事实上,还是沙滩排球!
 
或者,考虑:
 
(defun c:open4chk ( / f )
   (if (setq f (getfiled "" "T:/" "dwg" 16))
       (startapp "explorer" f)
   )
   (princ)
)
页: [1]
查看完整版本: 如何打开和关闭文件夹