Это должно работать как с Windows 7, так и с Windows 10. Я преобразую очень ручной процесс, основанный на Excel VBA, для клиентов, связывающих MS Access через ODBC с его базой данных Pervasive базы данных его программы MRP.
Я нашел другую ветку, где они использовали 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 и таблицу базы данных с именами файлов и зашифрованным паролем, необходимым для распаковки файла.Его код вызывает WinZip из оболочки Excel VBA и предоставляет зашифрованный пароль в качестве параметра для WinZip, чтобы он мог разархивировать файл.
Его текущий код использует Winzip под Windows 7. Я на Windows 10,и когда я установил Winzip на мою машину, он заморозил File Explorer, и я не мог просматривать свои подкаталоги или каталоги.Когда я удалил WInzip, все снова было хорошо.
какой код позволил бы мне разархивировать файл, используя только Access VBA, если у меня был зашифрованный пароль?
Зашифрованный пароль был сгенерированего программа MRP Sage.