MSAccess VBA Shell: UNZIP - PullRequest
       9

MSAccess VBA Shell: UNZIP

0 голосов
/ 20 марта 2019

Я использую простую утилиту ZIP / UNZIP (http://infozip.sourceforge.net/), вызываемую из WScript.Shell.

strPath = CurrentProject.Path & "\Backend_Databases\"
strPathUtil = CurrentProject.Path & "\Backend_Databases\DB_Utilities\"

ChDir strPath
strCMD = strPathUtil & "UNZIP.exe -o Item_4892.zip"
fShellRun (strCMD)

Я не получаю никаких результатов и никаких жалоб при таком подходе. Полученный strCMD выглядиткак это:

C:\Users\Mark\Desktop\Backend_Databases\DB_Utilities\UNZIP.exe -o Item_4892.zip

Эта строка работает из окна команд именно так, как и ожидалось. fShellRun работает так, как и ожидалось, для других команд оболочки, используемых в моей AccessDB.

Примечание: я могу поклясться, что это былоЯ работаю как на прошлой неделе во время первоначального тестирования, но я просто не могу понять это сейчас, это заставляет меня полностью разозлиться! Может быть, я слишком близко к этому и упускаю что-то очевидное.

Есть идеи?

1 Ответ

0 голосов
/ 21 марта 2019

Следующие работы.Мой оригинальный fShellRun был давно настроен для других целей и не совместим с этой задачей.

Следующее очень простое и функциональное, работает тихо:

Private Sub UnzipTest_Click()

Dim oShell
Dim strFile As String
Dim strPath As String
Dim strPathUtil As String

Set oShell = CreateObject("WScript.shell")

strFile = Me!txtFilename
strPath = CurrentProject.Path & "\Backend_Databases\"
strPathUtil = CurrentProject.Path & "\Backend_Databases\DB_Utilities\"

strCMD = strPathUtil & "UNZIP.exe -o " & strPath & strFile & " -d " & strPath

oShell.Run strCMD, 0, True

Set oShell = Nothing

End Sub

Примечание: Это указывает на 3-йсторонняя утилита UNZIP, против стандартной утилиты Windows ZIP.UNZIP.exe хранится в моей папке "... \ DB_Utilities".http://infozip.sourceforge.net/

...