Office中国论坛/Access中国论坛

标题: 请教一个压缩文件的问题 [打印本页]

作者: todaynew    时间: 2010-10-16 17:29
标题: 请教一个压缩文件的问题
将一个DB1.mdb文件放到【我的文档】中,然后用一下语句可以生产一个压缩文件:

Call Shell("C:\Program Files\WinRAR\WinRAR.exe a 备份.rar " & Date & "DB1.mdb", vbNormalFocus)

我现在想要在任一个目录中实现该功能,不知道怎么写。感觉是设置RAR当前目录的问题。
我下载了一些关于RAR的资料,可是捣腾了一下午,还是不得要领。
希望同志们帮助一下,谢谢。

---------------------------
RAR的相关资料如下:
[attach]43797[/attach]

作者: xryacc2    时间: 2010-10-16 17:40
记得好像是哪位论坛高手写过这样的例子,好像是t小宝,你可以搜一下
作者: todaynew    时间: 2010-10-16 18:08
记得好像是哪位论坛高手写过这样的例子,好像是t小宝,你可以搜一下
xryacc2 发表于 2010-10-16 17:40

谢谢,我好想马上好解决了。呵呵



作者: tmtony    时间: 2010-10-16 18:21
以前做 网站 示例压缩时有做过, 看看可否帮到老兄:
1.相对路径
2.加上密码
3.等待压缩执行

strCmdLine = CurrentProject.Path & "\rar.exe a  -ep -pwww.office-cn.net """ & strFileName & """ " & strFullName  '-o+  -pwww.office-cn.net"

        pId = Shell(strCmdLine, vbHide)    ' Shell 传回 Process Id
        pHnd = OpenProcess(SYNCHRONIZE, 0, pId)   ' 取得 Process Handle
        If pHnd <> 0 Then
            Call WaitForSingleObject(pHnd, INFINITE)    ' 无限等待,直到程序结束
            Call CloseHandle(pHnd)
        End If

作者: todaynew    时间: 2010-10-16 18:55
基本解决了,是引号问题。
作者: todaynew    时间: 2010-10-16 20:04
本帖最后由 todaynew 于 2010-10-16 20:14 编辑

Function 压缩文件(RARname As String, filname As String)
'功能:压缩文件
'参数:RARname---压缩文件名(含路径),filname---被压缩的文件名或文件夹名(含路径)
'示例:压缩文件 CurrentProject.Path & "\备份\后台备份.rar",CurrentProject.Path & "\备份\*.mdb"


Call Shell("C:\Program Files\WinRAR\WinRAR.exe a -ep -df """ & RARname & """ """ & filname & """", vbNormalFocus)
End Function


作者: tmtony    时间: 2010-10-16 21:07
是的,当时我在这里也是卡了很久, 原来是在自己电脑测试,但到别人电脑上 路径有空格就这样,也是找了半天
作者: tmtony    时间: 2010-10-16 21:12
以前用它做了个论坛助手
http://www.office-cn.net/forum-v ... t-%D6%FA%CA%D6.html
不过rar压缩 出错时无法准确找到错误代码, 在多个文件同时压缩时,特别是部分文件加密,部分文件不加密时, 有时会出错. 总得来讲,使用还是不错的.  使用控件也可以,不过安装麻烦些

作者: todaynew    时间: 2010-10-17 10:36
以前用它做了个论坛助手

不过rar压缩 出错时无法准确找到错误代码, 在多个文件同时压缩时,特别是部分文件 ...
tmtony 发表于 2010-10-16 21:12

谢谢王站,已经搞定了。







欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3