2016-07-24 118 views
1

幾年來,我一直在教堂辦公室計算機上運行一個編譯好的VB6程序。我在家用電腦上安裝了vb6程序(Win 7)這個程序沒有問題。該程序打開Excel電子表格,並允許用戶操縱電子表格中的數據。Win 8.1上的vb6安裝

我的Windows 7電腦崩潰了。我有一臺Windows 8.1電腦,並在這臺電腦上加載了vb6。安裝似乎是成功的,當我運行相同的Visual Basic項目中,我得到一個運行時錯誤「-2147319779 Automation Error Library not registered.」我的代碼樣本,除了如下所示:在「Set oExcel = Excel.Application」行發生

Dim oExcel As Excel.Application 
    Set oExcel = Excel.Application 

    oExcel.Workbooks.Open ("C:\FPCE Financial\FY-2014\2014-01 Financials.xls") 
    Application.Visible = True 

錯誤。

任何幫助,將不勝感激。

+2

你有沒有安裝Microsoft Office。你有沒有把Excel添加到VB中的引用對話框中。 – 2016-07-24 02:42:18

+0

它是您安裝的32位Office版本嗎? – GSerg

回答

1

如果您尚未設置對Excel的引用,則需要使用「延遲綁定」來創建Excel對象。正如@Noodles所說 - 如果你沒有安裝Office,它將無法工作。

嘗試修改此

Dim oExcel As Excel.Application 
Set oExcel = Excel.Application 

對此

Dim oExcel As Object 
Set oExcel = CreateObject("Excel.Application") 
+2

如果未設置對Office的引用,則該項目無法編譯。在這種情況下切換到後期綁定沒有任何好處,除非您想要沒有智能感知的更具挑戰性的編碼模式。 – GSerg

+1

@GSerg - 這是無意義的。後期綁定不需要引用,並且編譯得很好。切換的好處是編譯後的項目將不再與特定版本的Office綁定。 – Comintern

+1

@Comintern我在說,由於OP的項目在使用早期綁定時編譯,因此很明顯在項目設置中設置了引用,所以當沒有設置引用時建議該怎麼做沒有意義。至於不取決於Office版本,這也是[不是問題](http://stackoverflow.com/a/32790396/11683),因爲您可以控制編譯時引用的哪個版本,所以它只要您可以針對您支持的最低Office版本進行編譯。 – GSerg