itoboy 发表于 2019-7-24 00:28:48

819534890 发表于 2015-11-5 09:04
以前试过用excel方式打开选择对话窗,但有些电脑出现对话窗在后台而不是当前窗口现象,能解决吗?

最近研究多选文件找到老猫这篇帖子,简直太棒了,提供了多种方式,几经比较最终选择了Word、Excel方式,64位Win7,CAD06、07、10均测试过了,都会出现“对话窗在后台而不是当前窗口现象”,偶然机会增加了行对话框标题提示,该问题居然解决了,代码如下:;(A_Getfiles "请选择一个或多个图形文件" "图形文件" "*.Dwg")
;Msg1提示信息,Msg2文件信息,FileType限定打开类型

(defun A_Getfiles (Msg1 Msg2 FileType /)
(vl-load-com)
(setq word (Vlax-Create-Object "Word.Application")
        FileNames nil)
(setq dialog (Vlax-Get-Property word 'FileDialog 3))
(Vlax-Put-Property dialog 'InitialFileName (getvar 'dwgprefix))
(Vlax-Put-Property dialog 'Title Msg1 )
(Vlax-Invoke-Method (Vlax-Get dialog 'Filters) 'Add Msg2 FileType 1)
(Vlax-Invoke-Method dialog 'Show )
(setq items (Vlax-Get dialog 'SelectedItems))
(vlax-for item items
    (setq FileNames (cons item FileNames))
)
(while (= (Vlax-Get word 'Visible) 0)
    (Vlax-Put-Property word 'Visible -1)
)
(Vlax-Invoke-Method word 'Quit)
(gc)
)



页: 1 2 [3]
查看完整版本: 原创-在64位CAD上实现多文件选择对话框,文件多选