VB的通用对话框通过Filter 属性筛选用户所需的文件类型,再用Instr函数读取CommonDialog 控件获得FileName 属性取得的路径和文件名的逗号(.)位置。用Mid函数取出文件的扩展名获知所读取文件的类型。
Filter 属性(公共对话框),返回或设置在对话框的类型列表框中所显示的过滤器。
InStr 函数,返回 Variant(Long),指定一字符串在另一字符串中最先出现的位置。
Mid 函数,返回 Variant (String),其中包含字符串中指定数量的字符。
代码实例:
Private Sub Command1_Click()
' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
CommonDialog1.ShowOpen
' 显示选定文件的扩展名
Debug.Print Mid(CommonDialog1.FileName, InStr(CommonDialog1.FileName, ".") + 1)
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub