1

使用 Visual Basic 2008 速成版

涉及2台PC:

PC1 安装了 VBEE 和 Excel 2007
PC2(目标机器)没有安装 VBEE,但安装了 Excel 2000

我想要完成的是在 PC1 上构建一个应用程序以在 PC2 上使用。

当然,当我在构建过程中引用 12.0 库然后尝试在目标机器上使用 9.0 运行时,我会收到“找不到 12.0 对象库”消息。另外,我不能使用后期绑定(如下图):PC2的安全设置显然禁止这个...

    Dim objExcel As Object 'Excel.Application
    Dim objWB As Object 'Excel.Workbook
    Dim objWS As Object 'Excel.Worksheet
    Dim objRng As Object 'Excel.Range

    Try
        'Try to Open Excel, Add a workbook and worksheet
        objExcel = CreateObject("Excel.Application") 'New Excel.Application

    etc...

那么,有没有办法添加对 Excel 9.0 的引用,而无需将其实际安装在与 VBEE 相同的机器上?

有没有其他方法可以解决这个问题?

4

1 回答 1

0

当然,我一直都这样做。您需要从旧版本的机器中获取 TLB(或您必须引用的主要 EXE 或 DLL),将它复制到您的开发机器(最好在项目中的某个位置,以便您可以将其放在 VCS 下,因为它只是因为你的项目的一部分来源,然后设置你对那个dll的引用。

我已经使用 Word、Excel、PPT 和 Outlook 成功地完成了这项工作,并针对必须在从 Office 2000 到 2010 的所有设备中运行的插件进行编码。

我从不同的机器上抓取了所有相关的 TLB 和包含 TLB 的 DLL,将它们放在中心位置,并引用了这些副本。

使用 .NET,您甚至可以同时引用多个 WORD tlb(尽管我实际上不需要这样做)。使用 VB6,您不能真正做到那么远,但同样,您通常不需要这样做。

于 2011-04-08T18:55:57.933 回答