2015-10-23 137 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