【问题标题】:Permission Denied opening an Excel File using Excel 12.0 Library & VB6权限被拒绝使用 Excel 12.0 库和 VB6 打开 Excel 文件
【发布时间】:2009-01-08 17:13:44
【问题描述】:

我以前在我的 VB6 应用程序中使用过 Excel 很多次,但在尝试完成非常简单的事情时从未遇到过如此奇怪的问题..

我正在尝试打开一个 excel(xls 或 xlsx)文件并读取值,如您所见。

当我尝试打开文件时,我收到错误 70(权限被拒绝)错误。奇怪的是,没有打开其他 excel 实例(在任务管理器应用程序或进程中)。没有其他人试图访问该文件。我可以在没有警告的情况下在 excel 中打开文件,也可以在 VB6 中使用基本的“打开文件以输入为 #1”语法打开/读取/关闭文件而不会出错。我可以使用 Kill() 删除文件,因此它不会是目录权限问题 - 请帮助 - 我不知所措!!!

  Dim xlApp As New Excel.Application

  Dim xlWBook As Excel.Workbook

  'Error Occurs Here
  Set xlWBook = xlApp.Workbooks.Open(File)

  Dim xlSheet As Excel.Worksheet
  Set xlSheet = xlWBook.Sheets.Item(1)

  Dim y As Integer
  For y = 1 To 99999
    If Len(xlSheet.Cells(y, 1)) > 0 Then
      Send xlSheet.Cells(y, 1) & " - " & xlSheet.Cells(y, 2) & "<br>"
    End If
  Next

  Set xlWBook = Nothing
  Set xlApp = Nothing

-杰

【问题讨论】:

  • 我的团队中有人用这个解决了这个问题:hagrin.com/319/…我希望它对你有用

标签: vb6 excel vba


【解决方案1】:

你能打开一个新创建的空电子表格文档吗?

如果这不起作用,则可能是您的 Excel 安装需要重新注册。打开命令提示符并导航到安装 Excel 的文件夹,通常类似于

cd "C:\Program Files\Microsoft Office\Office12"

然后使用选项 /regserver 启动 Excel

excel.exe /regserver

如果这没有帮助,您可以转到控制面板 -> 添加或删除程序并开始修复 Microsoft Office。

要检查的另一件事是是否加载了任何加载项。如果有,请尝试一一禁用,看看问题是否消失。

如果问题仍然存在,您可能需要检查任何可用的 Office 更新。

我不知道这一切是否与你的问题有关,这是相当标准的 Office 应用程序故障排除技术......

更新:使用 Procmon 进行故障排除可能会揭示问题所在(请参阅 http://support.microsoft.com/kb/286198)。

【讨论】:

  • 这是最好的答案。它将引导您找到解决方案。按照@0xA3 提供的步骤操作。特别是修复office,使用procmon来解决“拒绝访问”错误消息。添加电子表格方法的使用是另一个不错的方法。
【解决方案2】:

你检查过你的 DCOM 配置吗?

今天遇到了类似的问题,尝试创建 Excel.Application 的 Web 服务收到拒绝访问。

在我的实例中,我必须添加 Internet 访客帐户才能访问组件。

您可以从开始 -> 运行进入 DCOM 配置

输入 DCOMCNFG - 回车

然后浏览到组件服务/计算机/我的电脑/DCOM 配置/Microsoft Excel 应用程序

右键,属性...

设置位于“安全”选项卡下。

【讨论】:

    【解决方案3】:
    Dim xlApp As New Excel.Application    
    Dim xlWBook As Excel.Workbook    
    'Error Occurs Here   
    Set xlWBook = xlApp.Workbooks.Open(File) 
    

    没有定义哪个文件是。 IE。

    File="C:\myDocuments\myexcel.xlsx". 'Because File string is empty.
    

    【讨论】:

      【解决方案4】:

      可能不是权限被拒绝的文件。

      【讨论】:

        【解决方案5】:

        只是想一想,您是否查看过 Windows 事件日志以查看是否可以在其中找到更多信息?

        【讨论】:

          【解决方案6】:

          当 excel 文件存在问题时,可能会发生这种情况,即一致性问题。文件有点损坏。

          例如,工作表上有 2 个同名对象。关键是,我不知道你的文件是如何被这种“问题”保存的,但是当 Excel 尝试打开它时,它会抛出这种错误。

          【讨论】:

            【解决方案7】:

            您似乎在没有明确关闭它的情况下创建了一个新的 Excel 实例(即 xlApp.Close 在将其设置为 Nothing 之前)。这可能是您出现问题的原因。

            如果从 VBA 调用 Office 应用程序的一些松散实例正在运行,有时事情会变得混乱。如果您在任务管理器中运行了一些 Excel.exe,但在屏幕或任务栏上看不到该应用程序,请杀死它们并重试。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-01-08
              • 1970-01-01
              • 1970-01-01
              • 2013-01-22
              • 2019-02-06
              • 1970-01-01
              • 2011-10-16
              相关资源
              最近更新 更多