最近写了个小程序,想通过VLISP来读取硬盘上指定扩展名文件以及将一些数据写到指定了目录中去的操作,在网找到了磁盘操作函数,后面一个问题解决了(代码如下),但是前面一个问题始终没有办法,请教高人。 ;| 目录浏览对话框 用法: (vldos-browsedir PromptString[STRING]) (vldos-writefile NIL) 参数1: 提示字符串, 如果是 nil, 缺省为 "Select Folder" 说明: 显示目录浏览对话框 返回值: [成功]: 返回所选目录路径. 如果用户选择取消, 返回 NIL [失败]: NIL |; (Defun vldos-browsedir (msg / WinShell shFolder path catchit rtn) (if (null MSG) (setq MSG "Select folder") ) (if (setq winshell (vlax-create-object "Shell.Application")) (progn (setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1) catchit (vl-catch-all-apply '(lambda () (setq shFolder (vlax-get-property shFolder 'self)) (setq path (vlax-get-property shFolder 'path)) ) ) ) (vlax-release-object shFolder) (vlax-release-object winshell) (if (vl-catch-all-error-p catchit) (setq rtn nil) (setq rtn (vldos-formatpath path)) ) ) ) rtn ) |