vba - 检查 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。
解决方案
您可以检查文件是否存在,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 """
希望这有助于作为一个起点。
推荐阅读
- css - @font-face src: url(...) 无法找出上下文路径,这可能是一个变量
- javascript - 如果数据表数据列中的条件
- maven - 在测试执行 maven surefire 插件时排除日志跟踪
- java - 在 Mockito 中模拟“marshalSendandReceive”方法调用时遇到问题
- certificate - 我们可以自动化 ACM 生成的 CSR 的签名请求吗?
- python-3.x - pyautogui pixelMatchesColor 返回“'int'对象不可调用”错误
- avd - 如何在 AVD 的自定义设备上添加 Google Play 商店?
- python-3.x - python3 - ImportError:无法导入名称'_imaging'
- excel - 根据相应的单元格禁用特定的用户表单
- ruby-on-rails - 如何解决来自 Postman 的 InvalidAuthenticityToken 错误?