You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VBA解压文件时出现运行时错误'91'该如何解决?

运行时错误'91'原因排查与解决方案

运行时错误'91'的本质是对象变量或With块变量未设置,你这段代码触发错误的核心原因是Shell.Application的Namespace方法返回了空对象(Nothing),调用空对象的属性/方法就会触发该错误,具体可能的触发场景和修复方案如下:

常见触发原因

  • 路径不合法:
    • 压缩包路径Origen不存在:检查对应路径下是否真的存在PD20210822.zip文件,确认文件名、后缀名没有拼写错误
    • 目标解压路径Destino不存在,或者当前Windows账号没有该路径的写入权限
  • 传参类型不匹配:Shell.Application.Namespace方法要求接收Variant类型的参数,直接传入String类型变量在部分Office版本中会识别失败,返回空对象

修复后的代码

Dim Destino As String
Dim Origen As String
Dim oAplica As Object
Dim objZip As Object
Dim objDest As Object

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

' 提前校验对象是否正常创建,避免报错
Set objZip = oAplica.Namespace(CVar(Origen))
Set objDest = oAplica.Namespace(CVar(Destino))

If objZip Is Nothing Then
    MsgBox "压缩包路径无效,请检查"
    Exit Sub
End If
If objDest Is Nothing Then
    MsgBox "目标路径无效,请检查"
    Exit Sub
End If

objDest.CopyHere objZip.Items

额外说明

如果修复后仍有问题,可以检查压缩包是否损坏、是否被其他程序占用(比如正在被杀毒软件扫描),关闭占用程序后重试即可。

内容的提问来源于stack exchange,提问作者Oscar Mayorga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 04:27:02