VB6 Excel.Application对象 "Permission Denied"

标签 vb6 excel vba

I am giving up, will send everything to an XLS VBA. Thanks!

我必须在Win7和Office2010(v14.0 32位)环境下对VB6程序进行小修改。 目前该程序尝试通过以下代码行进行实例化:

Dim objExcel as Excel.Application
Set objExcel = New Excel.Application

执行第二行代码后,立即显示错误 70:权限被拒绝。 我已经在 Excel VBA 上尝试过对同一行代码进行简单测试,效果很好。

有什么线索吗?是否有可能应该运行的服务已关闭? 我应该采取什么措施来避免重新安装 Office?

我收集的提示:

  1. 已尝试在 DCOMCNFG 上配置权限,但无法找到 Excel 应用程序。

  2. 已尝试运行 excel.exe/regserver,但似乎没有任何反应:Excel 在本应静默运行时照常运行。

  3. 运行 ProcessMonitor 并发现对 Excel.exe \automation 的调用显示Path Not Found (我已经检查了路径,没问题,我猜 \automation 正在困扰)。

  4. 如果我更改代码来实例化 Word 应用程序(当然还有 dll 引用),则会出现相同的错误。

  5. 授予 Office14 文件夹的完全权限。以下链接中的图片:/image/sgZW5.png (抱歉,作为新用户,无法发布图片)

提前致谢。

加布里埃尔

最佳答案

我遇到了类似的问题,我在访问数据库中使用 VBA 打开 Excel 文件,因此我使用命令“Set xlApp = CreateObject("Excel.Application")”,突然有一天开始抛出错误 70访问被拒绝,之前几个月都运行良好。我开始用 google 搜索它,当我得知这是 DCOM 错误时,我意识到问题的根源。因为几天前我试图将安装有 OPC 客户端的 PC 连接到 OPC 服务器,并且需要更改本地默认 DCOM 设置,所以我需要更改默认身份验证级别。所以我的问题的解决方案是:

  1. 在命令行中运行命令 dcomcnfg

  2. 转至控制台根目录 > 组件服务 > 计算机 > 我的电脑 > DCOM 配置 > Microsof Excel 应用程序

  3. 右键单击并选择属性

  4. 在常规选项卡中将身份验证级别更改为“无”

纹身它

关于VB6 Excel.Application对象 "Permission Denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619805/

相关文章:

vb6 - 您最喜欢的Visual Basic 6.0工具和技巧

vb6 - "Invalid Procedure Call or Argument",但仅在已编译或 P 代码 EXE 中

vba - IsDate 函数返回意外结果

用于驱动器映射的 VBA SharePoint 身份验证

类对象字典的vba深层复制/克隆问题

excel - 对单列中的每个奇数行求和 VBA

html - Excel VBA 为文本抓取 HTML 表格

VB6 和 .PFX 代码签名

excel - 获取功能区控件的名称或 ID

vba - 我有两个收藏。如何创建一个提取现有两个集合之间差异的新集合?