首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法打开压缩文件

无法打开压缩文件
EN

Stack Overflow用户
提问于 2014-10-05 10:17:06
回答 2查看 242关注 0票数 0

这似乎是一个简单的解决方案,但我搜索了网站(和网站)的解决方案,但我没有找到任何。

为了打开zip文件,我使用了以下代码:

代码语言:javascript
复制
  Set zipApp = CreateObject("Shell.Application")
  zip_file_count = zipApp.NameSpace("c:\1.zip").Items.Count
  MsgBox zip_file_count

当c:\1.zip是一个现有的zip文件时(其中包含一个文件)。因此,我期望在哪里看到带有"1“的msg框,而不是”系统找不到指定的文件“,即使文件存在(如果我尝试在windows Run> c:\1.zip中这样做,它就能工作)

我还使用这个代码打开了我刚刚创建的zip,但仍然得到了相同的错误。

我遗漏了什么吗?

顺便说一句,我使用的是windows操作系统,在某种程度上是相关的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-05 10:32:19

对我来说,如果做了以下更改,就可以工作了

代码语言:javascript
复制
set zip_file_count = zipApp.NameSpace("c:\1.zip").Items.Count
^^^ 

您要检索的是文件的计数,而不是对象引用,因此,这个set是不正确的,应该删除。

但我没有得到一个“系统找不到指定的文件”错误,而是一个“对象所需”。

在假定.zip文件可访问且不损坏的前提下编辑了,我发现获得报告错误的唯一方法是取消对zip文件夹的支持。这个问题被纠正了,重新注册了。因此,您需要显示在您的zipfldr.dll文件夹中的%systemroot%\system32文件,并将其注册到

代码语言:javascript
复制
regsvr32 "%systemroot%\system32\zipfldr.dll"
票数 2
EN

Stack Overflow用户

发布于 2014-10-05 10:33:05

您将不会看到带有"1“的消息框,而是”对象必需“错误,因为zip_file_count应该保存一个数字,而不是一个对象,所以

代码语言:javascript
复制
set zip_file_count = zipApp.NameSpace("c:\1.zip").Items.Count

应该是

代码语言:javascript
复制
zip_file_count = zipApp.NameSpace("c:\1.zip").Items.Count

由于您没有报告此错误,所以您运行的代码不是您发布的代码。

如果没有设置,并给出了一个可访问的.zip文件,您发布的代码将“工作”。因此,请再次检查"c:\1.zip“及其属性/权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26201643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档