Можно ли добавить ссылку на версию Excel, если она еще не установлена? - PullRequest
1 голос
/ 07 сентября 2010

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

2 ПК:

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

Я пытаюсь создать приложение на ПК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 Ответ

0 голосов
/ 08 апреля 2011

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

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

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

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

...