【问题标题】:How do I unzip a password protected zip file using Access VBA and an encrypted password如何使用 Access VBA 和加密密码解压缩受密码保护的 zip 文件
【发布时间】:2019-04-17 15:04:32
【问题描述】:

这需要同时适用于 Windows 7 和 Windows 10。我正在将客户端非常手动的基于 Excel VBA 的进程转换为通过 ODBC 将 MS Access 链接到他的 MRP 程序的 Pervasive 数据库后端的东西。

我发现了另一个线程,他们使用 Access VBA 解压缩文件,但我无法发布到该站点,即使我有登录帐户,所以我在这里发布:

https://answers.microsoft.com/en-us/office/forum/office_2007-access/how-do-i-extract-zip-files-through-ms-access/e3720f53-2413-409b-ad0b-bbfb67e823e4

该链接中使用的代码如下。我还没有运行它。只是想知道如何合并加密的密码值以获得所需的结果:

Sub ImportZippedFile(ByVal sZipFileName As Variant) 

  Dim oApp As Object
  Dim fileNameInZip As Variant

  Dim sFileNameFolder As Variant

  Dim vLocalZipName as Variant 

 vLocalZipName =sZipFileName

  'use system temp folder to extract zipped file to.
  sFileNameFolder = Environ("Temp") & "\Excel_Tmp\"

  'Extract the file into the newly created folder
  Set oApp = CreateObject("Shell.Application")

  'list all the file names within the zip file
  For Each fileNameInZip In oApp.Namespace(vLocalZipName ).items
    msgbox filenameinzip


    oApp.Namespace(sFileNameFolder).CopyHere _
      oApp.Namespace(vLocalZipName ).items.item(CStr(fileNameInZip))

  Next fileNameInZip

  Set oApp = Nothing
End Sub

但是,该示例中的 zip 文件显然没有密码保护。我的客户有一个目录,里面全是受密码保护的 zip 文件。他使用 Excel VBA 和一个包含文件名的数据库表,以及解压缩文件所需的加密密码。他的代码从 Excel VBA 外壳调用 WinZip,并将加密的密码作为参数提供给 WinZip,以便它可以解压缩文件。

他当前的代码在 Windows 7 下使用 Winzip。我在 Windows 10 上,当我在我的机器上安装 Winzip 时,它冻结了文件资源管理器,我无法查看我的子目录或目录。当我卸载 WINzip 后,一切都恢复正常了。

如果我有加密密码,什么代码可以让我仅使用 Access VBA 解压缩文件?

加密密码是由他的 Sage MRP 程序生成的。

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    我在我的文章中介绍了“Windows Explorer 方式”的压缩和解压缩:

    Zip and unzip files and folders with VBA the Windows Explorer way

    但这些与加密的 zip 文件无关,因为您无法在本地执行此操作。

    但是,您可以使用WinZip Command Line,方法是对此进行脱壳,将其传递给适当的命令行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-09
      • 2023-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多