VB6 Excel.Application对象“;“拒绝许可”;

VB6 Excel.Application对象“;“拒绝许可”;,vb6,excel,vba,Vb6,Excel,Vba,我放弃了,我将把一切都发送到XLS VBA。谢谢 我必须在Win7和Office2010(v14.0 32位)环境中对VB6程序进行一些小修改。 当前,程序尝试通过以下代码行进行实例化: Dim objExcel as Excel.Application Set objExcel = New Excel.Application 在执行第二行代码之后,我看到错误70:权限被拒绝。 我在Excel VBA上对同一行代码进行了简单的测试,效果非常好 有什么线索吗?应该运行的服务是否可能已关闭? 我应

我放弃了,我将把一切都发送到XLS VBA。谢谢

我必须在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
    的调用显示
    未找到路径
    (我已经检查了路径,没有问题,我想
    \automation
    正在麻烦中)

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

  • 已授予Office14文件夹的完全权限。以下链接中的Img: (很抱歉,作为新用户,无法发布图像)

  • 提前谢谢

    加布里埃尔试试这个

    1) 打开Windows资源管理器并导航到
    C:\Program Files(x86)\Microsoft Office

    3) 右键单击文件夹“Office14”,然后单击“属性”

    4) 导航到“安全”选项卡

    5) 将“完全控制权”授予[机器]\user

    6) 现在再次尝试运行vb6应用程序


    您是否检查了计算机上的DCOM默认安全设置?这些属性位于组件服务MMC管理单元中“我的电脑”的属性中。您仍然可以通过运行
    dcomcnfg

    来实现这一目标。我突然想到:从您的屏幕截图来看,您似乎正在64位Windows上运行Office 32位

    因此,在默认情况下,打开DCOMCNFG.exe时,可以访问64位版本。它允许您编辑64位COM组件。并解释了为什么在那里找不到Excel,因为Excel在WoW64中运行

    您应该尝试以下命令:

    C:\Windows\System32\mmc.exe comexp.msc /32
    
    打开32位控制台。您应该从中找到Excel的COM组件的设置,并编辑其权限。允许访问所有人,然后再次尝试运行您的程序。如果这样做有效,您应该在afterwords之后微调您的权限,以仅允许特定用户(允许DCOM访问所有人是危险的…)


    希望能有所帮助。

    我也面临类似的问题,我在access DB VBA中使用打开excel文件,因此我使用命令“Set xlApp=CreateObject(“excel.Application”)”,突然有一天开始抛出错误70拒绝访问,在它正常工作几个月之前。我开始用谷歌搜索它,当我知道这是DCOM错误时,我意识到问题的根源。因为几天前我试图将我的PC与安装在OPC服务器上的OPC客户端连接,需要更改本地默认DCOM设置,所以我需要更改默认身份验证级别。因此,我的问题的解决办法是:

  • 在命令行中运行命令dcomcnfg

  • 转到控制台根目录>组件服务>计算机>我的计算机>DCOM配置>Microsof Excel应用程序

  • 右键单击并选择“属性”

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


  • 并在DCOM配置中尝试设置以下内容:

  • 常规选项卡->身份验证级别->无
  • 标识选项卡->选择“交互用户”

  • 希望这有帮助

    您是否尝试过右键单击Excel并“以管理员身份运行”?是的,我刚刚尝试过:1)以管理员身份启动Excel,2)以管理员身份启动VB6,出现错误。您能否共享声明Excel对象并最终初始化它们的代码?@SidharthRout>更新了帖子。谢谢你是这台电脑的管理员吗?你能发布Office 14文件夹安全选项卡的快照吗?顺便说一句,你是这台电脑上唯一的用户吗?>是的,我是这台电脑上唯一的用户。使用快照更新Post。好的。我还看不到快照。这样做是为了测试。对
    C:\Windows\System32
    文件夹和
    VB6
    folderMy用户可以完全控制这两个目录重复相同的步骤。VB6正在以管理员身份运行。我已经找到了,但没有找到任何能引起我注意的东西。我应该关注哪些特殊参数?哇!!好的演绎!!我发现该组件已检查权限,但不起作用。尽管如此,我还是尝试了VBS,效果很好(无法在VB6上复制)。我将检查VB6安装,检查procmon快照并让您知道。说实话,我不久前也遇到过同样的问题。。。你的问题很熟悉,但我花了一些时间才记起来。您是否尝试向所有用户和未经身份验证的用户授予权限?另外,在“标识”选项卡下,检查DCOM组件以哪个用户身份运行。。。另一件事是VB6可能在“classic”程序文件目录中查找,而不是在程序文件(x86)目录中查找。我在Win7上安装了一些旧的(~Win98/Win2K程序),它们在错误的文件夹中查找。我检查了项目中的引用,它们指向正确的dll(本例中为Excel.exe)。我也加入了所有人,但什么都没发生。我只是不知道。我放弃了,我将把一切都发送到XLS VBA。谢谢哥们,你是个救生员!:)