VBA的一些常用Function

原创文章,欢迎转载:http://miao.blog/article/vba-common-function

' 根据文件路径获取文件名
' Get file name by path
Function GetFileNameByPath(filePath As String, Optional withoutExtension As Boolean = False) As String
    On Error GoTo ErrorHandler
    
    If filePath = "" Then GetFileNameByPath = "": Exit Function
    With CreateObject("Scripting.FileSystemObject")
        GetFileNameByPath = IIf(withoutExtension, .GetBaseName(filePath), .GetFileName(filePath))
    End With
    
    Exit Function
ErrorHandler:
    GetFileNameByPath = ""
End Function
' 根据文件路径获取上层目录路径
' Get Parent Folder Name
Function GetParentFolderPath(filePath As String)
    On Error GoTo ErrorHandler
    
    If filePath = "" Then GetParentFolderPath = "": Exit Function
    
    With CreateObject("Scripting.FileSystemObject")
        GetParentFolderPath = .GetParentFolderName(filePath)
    End With
    
    Exit Function
ErrorHandler:
    GetParentFolderPath = ""
End Function
' Get max value of a & b
Function Max(a, b)
    Max = IIf(a > b, a, b)
End Function

' Get min value of a & b
Function Min(a, b)
    Min = IIf(a < b, a, b)
End Function
推荐阅读
vba要实现md5必须引用外部库,导致vba程序交付安装不是很方便。很多时候我们并不是想要取真正的md5,只是取一个加密字符串,比如保存密码的时候。本文中的代码直接利用windows系统内置命令certutil -hashfile实现了一种变相的md5函数。代码要读写本地文件两次,因此效率不高,不过在登陆验证一下密码等场景并没有影响。
vba工具发布后,每次修改都需要通知大家更新,本问的代码,实现了打开工具自动获取最新版本,不更新的话自动关闭工具,这样就能保证工具更新的即时性和强制性。
传统的方式配置xlam比较麻烦,这段代码可以让你双击打开xlam时自动安装或更新
评论