|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
perfect131 牛啊!!
- Sub TEST()
- PathY = GetFileName(KZM:="Excel文件,*.xls,*.xlsx;*.xlsm", Title:="请选择Excel文件", FileName:="", FileText:="*00*", BLAll:=False, StrSplitor:="")
- MsgBox PathY
- End Sub
- Rem *************************************************************************************************************
- Rem 函数: GetFileName 选择单个文件:获得已经选择文件全路径,没选择的,返回:空白
- Rem 参数:KZM 可选,默认是:"Excel文件,*.xls;*.xlsx;*.xlsm"
- Rem 参数:Title 可选,提示信息,默认是:北极狐工作室
- Rem 参数:Filename 可选,开始文件夹,默认是:本表所在文件夹
- Rem 参数:FileText 可选,过滤文件名 *过滤内容*
- Rem 参数:BLAll 可选,是否显示所有文件, 默认:=true '//如果=false '//但是KMZ="",则自动添加: 所有文件
- Rem 参数:StrSplitor 可选,各级文件夹分隔符
- Rem 方法:PathY = GetFileName(KZM:="Excel文件,*.xls,*.xlsx;*.xlsm", Title:="请选择Excel文件", FileName:="",FileText:="", BLAll:=False, StrSplitor:="")
- Rem 整理:北极狐工作室 QQ:14885553
- Rem *************************************************************************************************************
- Public Function GetFileName(Optional ByVal KZM = "Excel文件,*.xls;*.xlsx;*.xlsm", Optional ByVal Title As String = "", Optional ByVal FileName As String = "", Optional ByVal FileText As String = "", Optional ByVal BLAll As Boolean = True, Optional ByVal StrSplitor As String = "") As String
- Dim X As Long
- Dim ARX
- Rem 为了解决WPS 不出现对话框 需要加一对: Application.ScreenUpdating
- Dim BLAPP As Boolean
- BLAPP = Application.ScreenUpdating
- Application.ScreenUpdating = False
- Rem 默认的分隔符号
- If StrSplitor = "" Then StrSplitor = ""
- If FileName = "" Then FileName = ThisWorkbook.Path
- Rem 如果文件夹路径 最后不是:[\] 则补充上去
- If Right(FileName, 1) <> StrSplitor Then FileName = FileName & StrSplitor
- With Application.FileDialog(msoFileDialogFilePicker)
- .Filters.Clear '清除文件过滤器,注意顺序
- If InStr(KZM, ",") > 0 Then
- Rem KZM="Excel2003,*.xls|Excel2007,*.xlsx;*.xlsm|WORD文件,*.doc;*.docx"
- Rem KZM="图片文件,*.png;*.bmp;*.jpeg;*.jpg"
- ARX = Split(KZM, "|")
- For X = 0 To UBound(ARX)
- .Filters.Add Split(ARX(X), ",")(0), Split(ARX(X), ",")(1)
- Next
- Rem 注意顺序
- If BLAll = True Then .Filters.Add "所有文件", "*.*", 1 '增加筛选器的项目为所有文件
- Else
- Rem 注意顺序
- .Filters.Add "所有文件", "*.*", 1 '增加筛选器的项目为所有文件
- End If
- .AllowMultiSelect = False '不允许多项选择
- .InitialFileName = FileName '//设置默认文件夹
- .InitialFileName = FileText '//设置过滤文件名
- If Title = "" Then '//设置提示信息
- .Title = "北极狐工作室: 请选择文件存放的路径(文件夹)" '自定义浏览对话框的标题栏名称,默认:“浏览”
- Else
- .Title = Title
- End If
- If .Show = -1 Then
- GetFileName = .SelectedItems(1)
- Else
- GetFileName = ""
- End If
- End With
- Application.ScreenUpdating = BLAPP
- End Function
复制代码 |
|