中关村在线

首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多

如何用VB代码压缩一个文件夹中的全部文件成一个压缩包

举报
讨论回答 (4)
124090309
walkingman001
xin523619416
如果是本地文件,可以这样:一些数据库文件(如Access文件)在远程传输过程中可能由于文件比较大而影响传递效果。如果进行压缩以后再传递,会减少传递时间,避免意外的发生,同时也保证了传递效果。我们在压缩文件时,最常用的压缩工具为WinRar和Winzip,笔者在VB编程过程中利用WinRar工具来压缩数据库文件,并完成远程传输,十分方便,在此向大家介绍一下。用WinZip的方法类似。  

  一、Shell函数

    Shell函数是VB中的内部函数,它负责执行一个可执行文件,返回一个Variant(Double),如果成功的话,代表这个程序的进程ID,若不成功,则会返回0。

  Shell的语法:Shell(PathName[,WindowStyle])。

  PathName 为必需参数。类型为String,它指出了要执行的程序名,以及任何需要的参数或命令行变量,也可以包括路径名。

  WindowStyle为可选参数。Integer类型,指定在程序运行时窗口的样式。WindowStyle有以下这些值。   

  常量值描述

  VbHide 0 窗口被隐藏,且焦点会移到隐式窗口。

  VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。

  VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示(缺省值)。

  VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。

  VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。

  VbMinimizedNoFocus 6 窗口会以一个图标来显示,而当前活动的窗口仍然保持活动。  

  二、关于WinRar的用法

    主要介绍以下如何在WinRar中用命令行来压缩和解压缩文件。

  压缩:WINRAR A [-switches] [Files] [@File lists]

  例如你想把try.mdb压缩到C盘下,可以WINRAR A C:\try.rar C:\try.mdb

  解压缩:如果带目录解压缩

      WINRAR X [-switches] [Files] [@File lists] [destionation folder\]

      如果在当前目录解压缩,即解压缩时不写目录名

      WINRAR E [-switches] [Files] [@File lists] [destionation folder\]

  例如你想把try.rar解压缩到C盘下,可以WINRAR X C:\try.rar C:\try.mdb  

  三、一个例子

    在VB中新建一个工程,在Form1中添加两个按钮Command1、Command2和Command3,把他们的Caption属性分别设为"压缩文件"、"解压缩文件"和"传递文件"。按Command1时把文件try.mdb压缩成try.rar。

  Private Sub Command1_Click()

  Dim Rarexe As String 'WINRAR执行文件的位置

  Dim Source As String ' 压缩前的原始文件

  Dim Target As String ' 压缩后的目标文件

  Dim FileString as String 'Shell指令中的字符串

  Dim Result As Long

    Rarexe="C:\program files\winrar\winrar"

  Source="C:\try.mdb"

  Target="C:\try.rar"

  FileString = rarexe & " a " & Target & " " & Source

  Result = Shell(FileString, vbHide)

  End Sub

  解压的过程类似,按Command2可以把try.rar解压生成 try.mdb。在执行了上面的压缩过程后,可以删除文件try.mdb,来解压缩重新生成try.mdb。

  Private Sub Command2_Click()

  Dim Rarexe As String 'WINRAR执行文件的位置

  Dim Source As String ' 解压缩前的原始文件

  Dim Target As String ' 解压缩后的目标文件

  Dim FileString as String 'Shell指令中的字符串

  Dim Result As Long

    Rarexe="C:\program files\winrar\winrar"

  Source="C:\try.rar"

  Target="C:\try.mdb"

  FileString = rarexe & " X " & Source & " " & Target

  Result = Shell(FileString, vbHide)

  End Sub

  文件从一台计算机传输到另一台计算机前,应知道另一台计算机的名字,然后用FileCopy语句就可以了。假设要把压缩后try.rar传递到计算机名为"other"的共享目录"want"下。

  Private Sub Command3_Click()

  Dim SourceFile, DestinationFile

   SourceFile ="C:\try.rar " ' 指定源文件名。

   DestinationFile = "\\other\want\try.rar" ' 指定目的文件名。

   FileCopy SourceFile, DestinationFile ' 将源文件的内容复制到目的文件中。

  End Sub

  怎么样,十分简单吧?
22015137lgh
展开查看全部 4 条讨论
精品应用推荐
新浪微博 新浪微博 天气通 天气通 淘宝特价版 淘宝特价版 UC浏览器 UC浏览器
相关问题

家电

1.3万 浏览 1044 回答

手机性能天梯榜讨论

4338 浏览 615 回答

显卡

2.1万 浏览 614 回答

硬盘

1.5万 浏览 601 回答

显示器

8956 浏览 587 回答

扩展阅读

努比亚Z70 Ultra全面评测:顶级旗舰就是要“与众不同”

评论 6

努比亚Z70 Ultra全面评测:顶级旗舰就是要“与众不同”

飞傲便携CD机DM13评测:享受更纯粹的音乐乐趣

评论 8

飞傲便携CD机DM13评测:享受更纯粹的音乐乐趣

华为服务回馈礼遇:换新电池立减50元,多重优惠来袭!

评论 3

华为服务回馈礼遇:换新电池立减50元,多重优惠来袭!

狂拍J35A、J20、SU57 尼康Z8、Z6III珠海航展拍摄体验

评论 4

狂拍J35A、J20、SU57 尼康Z8、Z6III珠海航展拍摄体验

华为Mate70抢购攻略:轻松绕过200万预约大军,先人一步秒杀新机

评论 52

华为Mate70抢购攻略:轻松绕过200万预约大军,先人一步秒杀新机
热门问题

求推荐一款笔记本。工科研究生用,便于随身携带。平时做科研,处理数据,查阅文献。不玩网游和单机,至多玩棋牌游戏和影音。喜欢摄影,需要修图。附加:纠结要不要带数字键盘区。预算最多8000。尽量便宜些。

1.2万 浏览 6 回答

求推荐一款笔记本。工科研究生用,便于随身携带。平时做科研,处理数据,查阅文献。不玩网游和单机,至多玩棋牌游戏和影音。喜欢摄影,需要修图。附加:纠结要不要带数字键盘区。预算最多8000。尽量便宜些。

荣耀Magic7 Pro

9732 浏览 1 回答

荣耀Magic7 Pro

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

2.3万 浏览 4 回答

256gSSD是否够用?打算买个笔记本,办公为主,查阅文献等。不玩大型游戏,至多玩一些棋牌类游戏和影音娱乐。手里有2T移动硬盘,但也想在笔记本上存少量的电影。平时玩单反,处理图片比较多。

肿么找回QQ浏览器历史记录

7296 浏览 6 回答

肿么找回QQ浏览器历史记录

在华为官网预约了手机,不要了要取消预约吗

9490 浏览 5 回答

在华为官网预约了手机,不要了要取消预约吗

手机在哪里登录192.168.1.1设定页面?

9447 浏览 7 回答

手机在哪里登录192.168.1.1设定页面?

海尔售后服务24小时服务热线

2005 浏览 5 回答

海尔售后服务24小时服务热线

快手网页版不用下载直接打开

2229 浏览 6 回答

快手网页版不用下载直接打开

艺术玻璃门打印机要价钱一台啊?哪家的比较好一点。

251 浏览 6 回答

艺术玻璃门打印机要价钱一台啊?哪家的比较好一点。

麒麟9100谁代工

2876 浏览 6 回答

麒麟9100谁代工
最新问答

adobe indesign cs6里怎么让页码从01开始

4717 浏览 6 回答

adobe indesign cs6里怎么让页码从01开始

大连,白月光之城的经济足迹——历年GDP探析

6846 浏览 7 回答

大连,白月光之城的经济足迹——历年GDP探析

电脑图标什么的字体都变成黑体字,肿么改过来

5292 浏览 8 回答

电脑图标什么的字体都变成黑体字,肿么改过来

寻找游戏伙伴,妹子共闯虚拟世界

1400 浏览 2 回答

寻找游戏伙伴,妹子共闯虚拟世界

眼神的秘密,社会交往中的无声语言

7324 浏览 5 回答

眼神的秘密,社会交往中的无声语言
举报
举报成功

经过核实后将会做出处理,感谢您为社区和谐做出贡献。

请选择删除原因
删除成功
确定推荐该回答?
推荐成功

更多频道

频道导航
辅助工具