首页 > 解决方案 > 检查 7-Zip (64 / 32bit) 的正确安装

问题描述

我的目标是避免来自 VBA 调试器的错误消息。需要检查安装了哪个版本的7-zip,程序文件/或程序文件(x86):

尝试做简单的“IF”功能。

Dim PathZipProgram As String
strCommand As String

PathZipProgram = "C:\Program Files(x86)\7-Zip\7z.exe"
If Right(PathZipProgram, 1) Then
    PathZipProgram = PathZipProgram
Else
    PathZipProgram = "C:\Program Files\7-Zip\7z.exe"
End If

Shell strCommand

strCommand = """" & PathZipProgram & """ a -tzip """

VBA 找不到 7zip。

标签: vba7zip

解决方案


您可以检查文件是否存在,function如下所示:

Function FileExists(FilePath As String) As Boolean
Dim TestStr As String
    TestStr = ""
    On Error Resume Next
    TestStr = Dir(FilePath)
    On Error GoTo 0
    If TestStr = "" Then
        FileExists = False
    Else
        FileExists = True
    End If
End Function

然后在您的代码中使用它:

Dim PathZipProgram As String
Dim strCommand As String

PathZipProgram = "C:\Program Files(x86)\7-Zip\7z.exe"

If Not FileExists(PathZipProgram) Then
    PathZipProgram = "C:\Program Files\7-Zip\7z.exe"
End If

Shell strCommand

strCommand = """" & PathZipProgram & """ a -tzip """

希望这有助于作为一个起点。


推荐阅读