自定义的常用的公式、函数汇总

自定义的常用的公式、函数汇总 [不定期更新]快捷调用文件对话框快捷调用文件对话框介绍:以下定义了一个函数,方便调用文件对话框的操作。如果想查看具体的VBA中文件对话框的操作,请转到此文章查看 VBA 文件对话框函数语法:value GetFileDialogValue(Open_Save_selFile_selFloder [,InitialFileName] [,SortingFileType [,IndtxInStorting]] [,AllowMultiSelect] [,ExitOnCan
摘要由CSDN通过智能技术生成

快捷调用文件对话框

介绍:以下定义了一个函数,方便调用文件对话框的操作。
如果想查看具体的VBA中文件对话框的操作,请转到此文章查看 VBA 文件对话框
函数语法:
value=GetFileDialogValue(Open_Save_selFile_selFloder [,InitialFileName] [,SortingFileType [,IndtxInStorting]] [,AllowMultiSelect] [,ExitOnCancel] )

参数 可选/必须 类型 说明
Open_Save_selFile_selFloder 必须 byte 对话框类型,1~4 分别为 打开、保存、选择文件、选择文件夹
InitialFileName 可选 String 调取对话框时,打开的地址。默认为当前激活文件的地址。
SortingFileType 可选 数组 可供筛选的文件类型列表,Open_Save_selFile_selFloder 为 1、3时,可以选择设置。数组并非默认的变量类型,但此变量应当带入一个 多行3列的数组。每一行的格式应当为:Descriptions, Extensions, [Position], 'eg: “Images”, “*.gif; *.jpg; *.jpeg”, 1
IndtxInStorting 可选 Integer 对话框默认显示的筛选类型,当设置了SortingFileType 时可选择设置,默认值为1。
AllowMultiSelect 可选 Boolean 设置是否允许多选,默认为 False=禁止
ExitOnCancel 可选 Boolean '当点击了取消按钮或者关闭对话框时,是否终止整个程序(主程序)。默认为 True=终止
'======================================================================================================================
'调用文件夹对话框  ====================================================================================================
Function GetFileDialogValue_(Open_Save_selFile_selFloder As Byte, _
                                Optional InitialFileName As String, _
                                Optional SortingFileType = Empty, _
                                Optional IndtxInStorting As Integer = 1, _
                                Optional AllowMultiSelect As Boolean = False, _
                                Optional ExitOnCancel As Boolean = True)
                                'Open_Save_selFile_selFloder    必选    模式,1~4分别为 打开文件、保存文件、选择文件、选择文件夹
                                'InitialFileName                可选    调取对话框时,显示的地址。当参数省略,默认为当前激活文件的地址。
                                'SortingFileType                可选    可供筛选的文件类型列表,只针对模式1、3。
                                '                                       应当为多行3列的数组,每一行的格式应当为:Descriptions, Extensions, [Position],分别为 显示名称,实际筛选的扩展名,顺序'eg: "Images", "*.gif; *.jpg; *.jpeg"
                                'IndtxInStorting                可选    默认显示的筛选类型,当设置了筛选的文件类型列表时需要设置,若未设置则默认为第一个类型。
                                'AllowMultiSelect               可选    设置是否允许多选,默认为False=禁止
                                'ExitOnCancel                   可选    当点击了取消按钮或者关闭对话框时,是否终止整个程序(主程序)。默认为 True=终止
  Dim fd As FileDialog
  Dim SelectedFile, i%, sTitle$

  Set fd = Application.FileDialog(Open_Save_selFile_selFloder) '设置对话框的类型
  With fd
    If InitialFileName = "" Then InitialFileName = ActiveWorkbook.Path '如果没有设定默认地址变量,则将变量地址设置为当前激活文件的地址
    If Right(InitialFileName, 1) <> "\" Then InitialFileName = InitialFileName & "\"
    .InitialFileName = InitialFileName        '设置调用对话框时的地址
    .AllowMultiSelect = AllowMultiSelect      '设置是否允许多选
    If AllowMultiSelect Then sTitle = "(可以多选)" Else sTitle = "(单选)"
    '当 Open_Save_selFile_selFloder 参数为1或3时,即对话框为 打开、选择文件 类别时,执行以下,设置文件的类型筛选
    If Open_Save_selFile_selFloder = 1 Or Open_Save_selFile_selFloder = 3 Then
        If Not IsEmpty(SortingFileType) Then    '如果筛选参数 SortingFileType 不为空,则遍历将其写入筛选列表
          .Filters.Clear                        '清除现有的文件类型
          For i = LBound(SortingFileType) To UBound(SortingFileType) '遍历将筛选参数写入筛选列表
            .Filters.Add SortingFileType(i, 1), SortingFileType(i, 2), SortingFileType(i, 3) '添加筛选列表
          Next i
          .FilterIndex = IndtxInStorting   '默认显示的 “文件筛选类型”
        End If
    End If
    
    Select Case Open_Save_selFile_selFloder       '设置打开文件时的标题
      Case 1:   .Title = "请选择要打开的文件" & sTitle
      Case 2:   .Title = "请输入要保存的文件名及对对应的文件类型"
      Case 3:   .Title = "请选择对应的文件" & sTitle
      Case 4:   .Title = "请选择对应的文件夹"
    End Select
    
    If .Show = -1 Then  '如果显示了窗体并选择了确认
        Select Case Open_Save_selFile_selFloder       '根据按钮设置执行操作
          Case 1, 2
            .Execute  '执行 打开或保存
          Case 3
            ReDim SelectedFile(1 To .SelectedItems.Count)   '重新定义数组
            For i = 1 To .SelectedItems.Count               '遍历所有选择的文件
              SelectedFile(i) = .SelectedItems(i)           '将文件名及地址赋值给数组
            Next i
          Case 4
            SelectedFile = .SelectedItems(1)        '将文件名及地址赋值给参数
        End Select
        
        GetFileDialogValue_ = SelectedFile ' >>>>> 设置返回值
    Else  '如果取消或者关闭了窗体
      If ExitOnCancel Then Set fd = Nothing: End      '如果设置了参数为 True(默认值),终止程序
    End If
  End With
  Set fd = Nothing  '清空对象
End Function


获取文件夹中的文件列表

介绍:以下定义了一个函数,用于获取指定文件下的文件列表。
函数语法:
FileList = GetFilesList_(sFilePath, sRegexp_Pattern [,bSubfolder] [,bPath] [,aNotSetMe] )

参数 可选/必须 类型 说明
sFilePath 必须 String 要获取文件列表的文件地址
sRegexp_Pattern 必须 String 要获取文件列表的模式,用正则表达式
bSubfolder 可选 Boolean 是否返回子文件夹中的文件列表,默认 False=不返回
bPath 可选 Boolean 返回的文件列表是否包含完整的文件路径,默认 True=包含路径
bExtension 可选 Boolean 返回的文件名是否包含扩展名,默认 True=包含扩展名
aNotSetMe 可选 Empty 该参数作物存储列表的中间变量
请勿设置该参数,直接使用参数的默认值即可。
'=========================
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值