Можно ли добавить ссылку на версию 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 вы не можете зайти так далеко, но, как правило, вам не нужно этого делать.