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

执行VBA代码时触发Permission Denied(Error 70)错误求助

解决VBA中CreateObject("VBScript.regexp")触发Permission Denied(Error 70)的问题

问题说明

已通过【工具->引用】启用"Microsoft VBScript Regular Expression 5.5",但执行VBA代码时,在Set RegEx = CreateObject("VBScript.regexp")行触发**Permission Denied(Error 70)**错误。

解决方案

1. 直接使用引用的正则库类型

既然已经添加了正则库引用,无需用CreateObject创建对象,直接声明具体类型即可:

  • 将Dim RegEx As Object改为Dim RegEx As New RegExp
  • 删除Set RegEx = CreateObject("VBScript.regexp")这一行

修改后的changeDelimiter函数示例:

Private Function changeDelimiter(line As String) As String
    Dim RegEx As New RegExp
    RegEx.IgnoreCase = True
    RegEx.Global = True
    RegEx.Pattern = ",(?=([^" & Chr(34) & "]*" & Chr(34) & "[^" & Chr(34) & "]*" & Chr(34) & ")*(?![^" & Chr(34) & "]*" & Chr(34) & "))"
    changeDelimiter = RegEx.Replace(line, "#|#")
End Function

2. 检查系统权限与宏安全设置

  • VBScript组件权限:确认当前Windows用户对C:\Windows\System32\vbscript.dll有读取和执行权限,右键文件选择【属性->安全】,添加对应权限。
  • Excel宏设置:打开【文件->选项->信任中心->信任中心设置->宏设置】,临时选择"启用所有宏"(测试完成后恢复安全设置),并勾选"信任对VBA工程对象模型的访问"。

3. 重新注册VBScript组件

以管理员身份打开命令提示符,执行以下命令注册组件:

regsvr32 vbscript.dll

执行成功后重启Excel,重新测试代码。

4. 验证文件读取权限

代码中使用FileSystemObject读取G:\dwn_c\mine\uhcdo\uhcgs21.csv,确认该文件路径存在,且当前用户拥有读取权限,避免文件权限问题间接引发报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:45:18