繁体   English   中英

权限被拒绝使用Excel 12.0 Library和VB6打开Excel文件

[英]Permission Denied opening an Excel File using Excel 12.0 Library & VB6

我以前曾多次在我的VB6应用程序中使用Excel,并且从未遇到过如此奇怪的问题,试图完成一些非常简单的事情。

我试图打开一个excel(xls或xlsx)文件并读取值,你可能会看到。

当我尝试打开文件时,出现错误70(权限被拒绝)错误。 奇怪的是,没有其他excel实例打开(在任务管理器应用程序或进程中)。 没有其他人试图访问该文件。 我可以在没有警告的情况下在excel中打开文件,我也可以使用基本的“打开文件输入为#1”语法在VB6中打开/读取/关闭文件而不会出错。 我可以使用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

-Jay

你检查过DCOM配置了吗?

今天有一个类似的问题,一个试图创建Excel.Application的Web服务正在接收拒绝访问。

在我的实例中,我必须添加Internet来宾帐户才能拥有该组件的访问权限。

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

键入DCOMCNFG - 按Enter键

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

右键单击,属性......

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

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

如果这不起作用,则可能需要重新注册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 )。

Dim xlApp As New Excel.Application    
Dim xlWBook As Excel.Workbook    
'Error Occurs Here   
Set xlWBook = xlApp.Workbooks.Open(File) 

没有定义哪个文件。 即。

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

当excel文件出现问题(一致性问题)时,可能会发生这种情况。 该文件有点破坏。

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

您似乎创建了一个新的Excel实例而没有显式关闭它(即在将其设置为Nothing之前的xlApp.Close)。 这可能是你遇到问题的原因。

如果从VBA调用Office应用程序时出现一些松散的Office应用程序,有时会出现问题。 如果您在任务管理器中运行了一些Excel.exe,但您无法在屏幕或任务栏上看到该应用程序,则将其终止并重试。

也许这不是权限被拒绝的文件。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM