fjy602 发表于 2004-8-10 21:48:00

我在调试<U><FONT color=#0000ff>(使用Commondialog</FONT></U>类)<A href="http://www.vba.cn/a2/list.asp?id=356(Commondialog" target="_blank" >http://www.vba.cn/a2/list.asp?id=356</A>程序时出错,黑体部分是我修改过的,为什么我在多选时返回的文件名只是返回文件目录,在选择单文件时则会返回其全路径


Sub IntBlkBySelectDwg()<BR>On Error GoTo Err_Control


Dim BlkFile As Variant<BR>Dim i As Integer<BR>Dim InstPnt As Variant<BR>Dim BlkRefObj As AcadBlockReference<BR>Dim varCancel As Variant<BR>BlkFile = getFileBySelect("选择图形", "dwg", "CAD图形文件(*.dwg)|*.dwg|" + "所有文件(*.*)|*.*|")<BR>'用信息框返回所选文件的路径<BR>MsgBox BlkFile<BR>End Sub


'选定多个文件的函数,使用了CommonDialog类<BR>Public Function getFileBySelect(DialogTitle, DefaultExt, Filter) As Variant<BR>Dim dlg As CommonDialog<BR>Dim Files As Variant<BR>Dim i As Integer


Set dlg = New CommonDialog<BR>With dlg<BR>                       .DialogTitle = DialogTitle<BR>                       .DefaultExt = DefaultExt<BR>                       .Filter = Filter<BR>                       .Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer Or dlOFNHideReadOnly <BR>                                dlg.ShowOpen<BR>                               getFileBySelect = .FileName<BR>End With


End Function


不知道有哪位仁兄调试过此段代码

mccad 发表于 2004-8-10 22:29:00

因为是多选,所以返回的是数组

fjy602 发表于 2004-8-11 20:49:00

可是我调试时,IsArray(BlkFile)返回的是False,而不是Ture,不知道是为什么?而且在源程序中


If ShowOpen Then <BR>                                                                getFileBySelect =.ParseFileNames               


End If


也提示出错,为什么?

gdzhou 发表于 2004-8-15 16:54:00

用DOS下的批处理不也行嘛

fjy602 发表于 2004-8-16 22:00:00

在使用COMMONDIALOG类.showopen中,如何实现像cad打开对话框中右边的cad图形的预览功能?请教!
页: 1 [2]
查看完整版本: [VBA]如何实现文件批处理