2009-01-08 50 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.