excel - VBA 有问题。我出现运行时错误“91”。任何想法?
问题描述
我正在尝试使用 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
解决方案
更改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
说明:您正在使用后期绑定。要理解这一点,请使用Early Binding,如下所示。设置对Microsoft Shell Controls and Automation
from的引用Tools | References
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 方法中阅读有关它的更多信息
如果上述链接失效
推荐阅读
- javascript - 按钮图片无法点击
- android-studio - 我的模拟器显示了一个更大的状态栏,而不是设计部分中显示的状态栏。我是 android studio 的新手
- javascript - 如何阻止我的网格超出其容器 div?
- php - image-url 中的空格问题
- python - 尝试计算然后显示函数的梯度向量
- php - 是否可以在 GCP 的 Google Compute Engine 中强制使用较低的 PHP 版本?
- apache-kafka-streams - 由于抑制功能而怀疑内存不足问题
- json - 如何将 Json 数据提取到 pandas df 中?
- c - strnlen 可以用 memchr 实现吗?
- flutter - 如何在 Flutter 中删除警报对话框