遇到VBA问题,出现运行时错误'91'。有任何想法吗?

6

我正在尝试使用VBA解压文件,但出现了运行时错误91。这是我的代码:

Dim Destino As String
Dim Origen As String
Dim oAplica As Object

Destino = "C:\Users\Oscar Mayorga\Downloads"
Origen = "C:\Users\Oscar Mayorga\Downloads\PD20210822.zip"
Set oAplica = CreateObject("Shell.Application")
oAplica.Namespace(Destino).CopyHere oAplica.Namespace(Origen).Items

尝试使用oAplica.Namespace((Destino)).CopyHere oAplica.Namespace((Origen)).Items的代码。 - Raymond Wu
1个回答

8

Destino = "C:\Users\Oscar Mayorga\Downloads 改为 Destino = "C:\Users\Oscar Mayorga\Downloads\"。同时将变量声明从 String 改为 Variant

这是您要尝试的吗?

Dim Destino As Variant
Dim Origen As Variant
Dim oAplica As Object

Destino = "C:\Users\Oscar Mayorga\Downloads\"
Origen = "C:\Users\Oscar Mayorga\Downloads\PD20210822.zip"
Set oAplica = CreateObject("Shell.Application")
oAplica.Namespace(Destino).CopyHere oAplica.Namespace(Origen).Items

解释: 您正在使用晚期绑定。为了理解这个概念,可以按照下面的步骤使用早期绑定。从工具 | 引用中设置对Microsoft Shell Controls and Automation 的引用。

enter image description here

Option Explicit

Sub Sample()
    Dim Destino As Variant
    Dim Origen As Variant
    Dim oAplica As Shell32.Shell

    Destino = "C:\Users\Oscar Mayorga\Downloads\"
    Origen = "C:\Users\Oscar Mayorga\Downloads\PD20210822.zip"
    Set oAplica = New Shell32.Shell
    oAplica.Namespace(Destino).CopyHere oAplica.Namespace(Origen).Items
End Sub

现在,当你在输入括号后按下空格键时,会看到以下内容:

输入图像描述

它需要一个Variant。关于此更多信息可以在Shell.NameSpace方法中阅读。

如果上述链接失效

输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接