2016-07-24 116 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