Можно ли добавить ссылку на версию Excel, если она еще не установлена?

Использование Visual Basic 2008 Express Edition

Участвуют 2 ПК:

На ПК1 установлены VBEE и Excel 2007
ПК2 (целевой компьютер) не имеет установленного VBEE и имеет Excel 2000

Я пытаюсь создать приложение на ПК1 для использования на ПК2.

Конечно, когда я ссылаюсь на библиотеку 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?

Есть ли другой способ обойти это?

1 ответ

Конечно, я делаю это все время. Вам нужно будет извлечь TLB (или основной EXE-файл или DLL-файл, на который вы ссылаетесь) с компьютера с более старой версией, скопировать ИТ на свой компьютер разработчика (желательно где-то в вашем проекте, чтобы вы могли поместить его в VCS, потому что это только потому, что часть источника вашего проекта, а затем установить ссылки на эту DLL.

Я успешно сделал это с Word, Excel, PPT и Outlook, кодируя против надстройки, которая должна была работать во всем, начиная с Office 2000 до 2010.

Я собрал все соответствующие TLB и библиотеки DLL, которые содержали TLB с разных машин, расположил их централизованно и сослался на эти копии.

С.NET вы можете даже одновременно ссылаться на несколько файлов WORD (хотя у меня не было никакой необходимости делать это на самом деле). С VB6 вы не можете зайти так далеко, но, как правило, вам не нужно этого делать.

Другие вопросы по тегам