2009-01-08 51 views
3
Excel文件

我在VB6应用程序使用的Excel之前很多次,从来没有碰到试图完成的东西很容易这样一个奇怪的问题..权限被拒绝打开使用Excel 12.0图书馆与VB6

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

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

+0

有人在我的团队解决了它使用此: http://www.hagrin.com/319/exception-hresult-0x800a03ec-excel-net-sql-and-windows-server-2008 希望它适合你 – 2011-10-12 16:00:13

回答

1

你可以打开一个新创建的空表格文档?

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

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

,然后用启动Excel选项/ REGSERVER

excel.exe /regserver 

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

要检查的另一件事是将是否有任何加载项加载。如果是这样,请尝试逐个禁用它们并查看问题是否消失。

如果问题仍然存在,则可能需要检查是否有可用的Office更新。

如果这一切是关系到你的问题我不知道,这是相当的Office应用程序的标准故障排除方法......

UPDATE:讨论procmon也许故障排除,就会发现问题所在(见http://support.microsoft.com/kb/286198)。

+0

这是最好的答案。它会引导您找到解决方案。按照@ 0xA3提供的步骤操作。特别是修理办公室,使用procmon来解决“访问被拒绝”错误信息。使用添加电子表格方法是另一个好方法。 – 2011-09-26 23:15:18

0

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

0

只是一个想法,你看过Windows事件日志,看看你是否可以在那里找到更多的信息?

0

这可能发生在excel文件中存在问题时出现的一致性问题。该文件是损坏的。

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

1

你检查了你的DCOM配置。

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

在我的例子中,我不得不添加互联网访客帐户以获得组件的访问权限。

你可以从开始的DCOM配置 - >运行

键入dcomcnfg - 击进入

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

右键单击属性...

设置位于安全选项卡下。

0

你似乎没有(它设置为Nothing之前即xlApp.Close)显式关闭它来创建一个新的Excel实例。这可能是你遇到问题的原因。如果Office应用程序的某些松动情况下运行有关从VBA调用它们时

有时候东西进入疯狂。如果您在任务管理器中运行了一些Excel.exe,但无法在屏幕或任务栏上看到该应用程序,请杀死它们并重试。

1
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.