0
我有一個項目,我需要從zip中提取文件,然後打開該文件。我上週工作的代碼:將文件解壓縮到VBA中的遠程目錄
With CreateObject("Shell.Application")
.Namespace("" & UnZippedFolder).copyhere .Namespace("" & ZipFolder & _
ZipFile).Items
End With
當我試圖在本週運行它,我得到了一堆錯誤,因爲我試圖調試。
我已經從'簡單'(上面)移動到'我能弄明白'(如下)。我目前收到錯誤「對象變量或塊變量未設置」。在最後選擇具有'*'的行。我無法弄清楚爲什麼會拋出這個錯誤,或者如何解決這個錯誤。
Dim WeekNum As Integer
Dim ZipFolder As String
Dim ZipFile As String
Dim UnZippedFile As String
Dim UnZippedFolder As String
Dim objShell
Dim UZipFold
Dim ZipFoldAndFile
If Proceed = False Then Exit Sub
WeekNum = Workbooks("personal.xlsb").Sheets("Dates").Range("WeekNum").Value
ZipFolder = "\\server\path\" ' obfuscated because I must, sorry
ZipFile = "Prefix" & "Week" & WeekNum & " (xlsx 07 format).zip" ' change the 11 to the last 2 digits of the year!
UnZippedFolder = "\\server\path\" ' obfuscated, again, because I must
UnZippedFile = "Logging_11" & "Week" & WeekNum & " (xlsx 07 format).xlsx"
Set objShell = New Shell
UZipFold = objShell.Namespace("" & UnZippedFolder)
ZipFoldAndFile = objShell.Namespace("" & ZipFolder & ZipFile)
UZipFold.copyhere (objShell.Namespace("" & ZipFolder & ZipFile).Items) '*'
嘗試改變「作爲字符串」的所有聲明爲「作爲變體」。我似乎記得有這個完全相同的問題,這是因爲傳遞給Shell的變量類型是字符串... –