block 引用>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?
我收集的提示:
已尝试在 DCOMCNFG 上配置权限,但无法找到 Excel 应用程序。
已尝试运行 excel.exe/regserver,但似乎没有任何反应:Excel 在本应静默运行时照常运行。
运行 ProcessMonitor 并发现对
Excel.exe \automation
的调用显示Path Not Found
(我已经检查了路径,没问题,我猜\automation
正在困扰)。如果我更改代码来实例化 Word 应用程序(当然还有 dll 引用),则会出现相同的错误。
授予 Office14 文件夹的完全权限。以下链接中的图片:/image/sgZW5.png (抱歉,作为新用户,无法发布图片)
提前致谢。
加布里埃尔
最佳答案
我遇到了类似的问题,我在访问数据库中使用 VBA 打开 Excel 文件,因此我使用命令“Set xlApp = CreateObject("Excel.Application")”,突然有一天开始抛出错误 70访问被拒绝,之前几个月都运行良好。我开始用 google 搜索它,当我得知这是 DCOM 错误时,我意识到问题的根源。因为几天前我试图将安装有 OPC 客户端的 PC 连接到 OPC 服务器,并且需要更改本地默认 DCOM 设置,所以我需要更改默认身份验证级别。所以我的问题的解决方案是:
在命令行中运行命令 dcomcnfg
转至控制台根目录 > 组件服务 > 计算机 > 我的电脑 > DCOM 配置 > Microsof Excel 应用程序
右键单击并选择属性
在常规选项卡中将身份验证级别更改为“无”
纹身它
关于VB6 Excel.Application对象 "Permission Denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619805/