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

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

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

当我尝试打开该文件时,出现错误70(权限被拒绝)错误。 奇怪的是没有任何其他的开放实例(在任务pipe理器应用程序或进程中)。 没有人试图访问该文件。 我可以在没有任何警告的情况下在Excel中打开文件,也可以打开/读取/closuresVB6中的基本文件,并input“Open File for Input as#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 

-Jay

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

如果这不起作用,可能是您的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 )。

你有没有检查你的DCOMconfiguration。

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

在我的例子中,我不得不添加互联网来宾帐户有组件的访问权限。

您可以从开始 – >运行进入DCOMconfiguration

inputDCOMCNFG – 点击input

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

右键单击属性…

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

 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. 

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

只是一个想法,你看了Windows事件日志,看看你能find更多的信息吗?

这可能发生在excel文件中存在问题时,一致性问题。 该文件是有点损坏。

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

您似乎创build一个新的Excel实例没有明确closures它(即xlApp.Close之前设置为Nothing)。 这可能是你的问题的原因。

有些时候,如果从VBA调用Office应用程序时遇到一些松散的Office应用程序事件,那么这种情况就会变得很糟糕。 如果您在任务pipe理器中运行了一些Excel.exe,但无法在屏幕或任务栏上看到该应用程序,请杀死它们并重试。