2015-10-23 167 views
1

嘿我的程序檢查一個zip文件並將其複製到另一個目錄。然而,當我編譯它時,偶然發現了oApp上的「運行時錯誤'91'對象變量或者塊變量未設置」。運行時錯誤'91'vba-access

Sub UnZip(Fname As Variant) 

    Dim oApp As Object 
    Dim FileNameFolder As Variant 

    FileNameFolder = "P:\" 
    Set oApp = CreateObject("Shell.Application") 
    oApp.Namespace(FileNameFolder).CopyHere oApp.Namespace(Fname).items 

End Sub 

什麼問題?

我正在使用MS訪問2010

回答

1

.Copyhere處理文件夾對象。

Sub UnZip(Fname As Variant) 
    dim objShell 
    dim objFolder 

    set objShell = CreateObject("shell.application") 
    set objFolder = objShell.NameSpace("P:") 

    If not objFolder is nothing then 
     objFolder.CopyHere(Fname) 
    End If 

End Sub 

Fname必須包含帶擴展名的路徑和文件名。

+0

在我的情況下,我得到我的Fname是一個FolderItem。但是,當我運行objFolder.CopyHere(Fname)時,我得到相同的錯誤「'91'對象變量或未設置塊變量」 –

+0

應將Fname作爲字符串傳遞給解壓縮子。 – MatthewD