Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

带Windows进度条的复制函数

时 间:2019-03-07 10:34:29
作 者:易勋   ID:35404  城市:上海
摘 要:通过APICopyFile这个函数,复制文件或者文件夹,可以显示Windows的执行进度条。
正 文:

函数:

#If VBA7 Then
    Private Type API_SHFILEOPSTRUCT
        hwnd                        As LongPtr
        Func                        As LongPtr
        From                        As String
        To                          As String
        Flags                       As Integer
        AnyOperationsAborted        As Long
        NameMappings                As Long
        ProgressTitle               As String
    End Type
    Private Declare PtrSafe Function ApiSHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As API_SHFILEOPSTRUCT) As Long
#Else
    Private Type API_SHFILEOPSTRUCT
        hwnd                        As Long
        Func                        As Long
        From                        As String
        To                          As String
        Flags                       As Integer
        AnyOperationsAborted        As Long
        NameMappings                As Long
        ProgressTitle               As String
    End Type
    Private Declare Function ApiSHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As API_SHFILEOPSTRUCT) As Long
#End If

Public Function APICopyFile( _
        Pathname As String, _
        Optional Destination As String _
    ) As Boolean
    On Error Resume Next

    Dim typPath As API_SHFILEOPSTRUCT

    Const FOF_NOCONFIRMATION = &H10
    Const FOF_SILENT = &H4
    Const FOF_NOERRORUI = &H400

    typPath.hwnd = 0
    typPath.Func = 2

    If Right(Pathname, 1) <> "\" Then
        typPath.From = Pathname & "\*"
    Else
        typPath.From = Pathname & "*"
    End If

    If Right(Destination, 1) <> "\" Then
        typPath.To = Destination & "\"
    End If

    typPath.To = Destination

    APICopyFile = Not CBool(ApiSHFileOperation(typPath))
End Function


调用:

APICopyFile 当前路径, 目标路径


Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助