Excel version=11 and version=12

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Excel version=11 and version=12

Сообщение Чудик » 25.09.2007 (Вт) 14:32

Господа,
Использую в своем проекте взаимодействие с Excel книгой. На моем компьютере установлен Office 2007. Соответственно для полноценной работы установливаю ссылку на Microsoft.Office.Interop.Excel версии 12. При запуске программы на другом компьютере, с Office 2003, выходит исключение:

Could not load file or assembly 'Microsoft.Office.Interop.Excel, version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The located assembly's manifest definiyion does not match the assembly reference.

Что скажете?
Век живи - век учись!
www.detal-plast.narod.ru

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 25.09.2007 (Вт) 14:53

а сам то как думаешь? Нету там библиотеки такой библиотеки ;) таскай ее с собой, но вряд ли тебе это поможет, файл из 2007 офиса не откроеться в 2003 (разве что его сохранить в старый формат

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.09.2007 (Вт) 15:08

В том то вся и фишка, что эту библиотеку ложу вместе с программой. А результатов нет. Сама Excel книга в фомате 2003.
Век живи - век учись!
www.detal-plast.narod.ru

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 25.09.2007 (Вт) 17:16

У офиса (да и нетолько у него) система взаимосвязанных библиотек. Рискну предположить, что вместе с библой екселя тебе придется так же таскать половину библ офиса :lol: На твоем месте я бы поразмыслил как бы обойтись без екселя. Что конкретно ты используешь?
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 25.09.2007 (Вт) 19:02

Можно и без Excel, будет чуть сложней реализация. Но меня заинтересовала сама ситуация! Ситуация совместимости программы, использующей библиотеку Excel, с офисными системами 2000/2003/2007.
Пробовал указывать ссылки и 11 и 12 версии dll, но, видно, в сборке при построении прописывается использующаяся версия.
Можно ли програмно указать dlls необходимые для использования?
Век живи - век учись!
www.detal-plast.narod.ru

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 26.09.2007 (Ср) 10:53

Можно юзать MDAC
там есть драйвер для экселя, и использовать эксель как бд
модно юзать MS PIA

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 26.09.2007 (Ср) 19:40

Использование в моем случае Excel как бд не подходящий вариант (я думал над этим, так как уже приходилось связываться с Excel через adodb и проблем совместимости не было), а вот что имелось в виду под PIA (Primary Interop Assembly)? предполагаю, что я не в полной мере понимаю ситуацию - можно изложить идею немного доступней?
Век живи - век учись!
www.detal-plast.narod.ru

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 26.09.2007 (Ср) 19:57

Чудик писал(а):Ситуация совместимости программы, использующей библиотеку Excel, с офисными системами 2000/2003/2007.
Пробовал указывать ссылки и 11 и 12 версии dll...

А если использовать не ранее, а позднее связывание это не решит проблему? (или в .NET такого нету? :roll: )
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 27.09.2007 (Чт) 8:57

Да, позднее связывание прошло замечательно. И че сразу не попробовал?
Век живи - век учись!
www.detal-plast.narod.ru

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 27.09.2007 (Чт) 11:17


MAGRAV
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.01.2011 (Чт) 11:57

Re: Excel version=11 and version=12

Сообщение MAGRAV » 24.03.2011 (Чт) 7:37

Здравствуйте! У меня возникла точно такая же проблема. Я пытался решить её применив позднее связывание, но мне это не помогло. Подскажите пожалуйста в чём может быть дело?!!! Пример раннего и позднего связывания ниже!


Код: Выделить всё
Public Sub Open_Close(ByVal adres As String) ' adres - путь к книге Excel
        ' Раннее связывание
        'Dim xlsApp As New Microsoft.Office.Interop.Excel.Application With {.Visible = True}
        'Dim xlsBook As Microsoft.Office.Interop.Excel.Workbook
        'Dim xlsSheet As Microsoft.Office.Interop.Excel.Worksheet

        ' Позднее связывание
        Dim xlsApp As Object
        Dim xlsBook As Object
        Dim xlsSheet As Object
        xlsApp = CreateObject("Excel.Application")

        ' Поздно связать экземпляр книги Excel.
        xlsBook = xlsApp.Workbooks.Open(adres)

        ' Поздно связать экземпляр листа Excel.
        xlsSheet = xlsBook.Sheets("Лист1")
        xlsSheet.Activate()

        ' Показать приложение.
        xlsSheet.Application.Visible = True

    End Sub
Уходя с аэродрома прихвати деталь для дома.

MAGRAV
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.01.2011 (Чт) 11:57

Re: Excel version=11 and version=12

Сообщение MAGRAV » 25.03.2011 (Пт) 8:45

И ещё! Объясните пожалуйста как положить библиотеку Microsoft.Office.Interop.Excel версии 12 вместе с программой?! :oops:
Уходя с аэродрома прихвати деталь для дома.

MAGRAV
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.01.2011 (Чт) 11:57

Re: Excel version=11 and version=12

Сообщение MAGRAV » 28.03.2011 (Пн) 8:50

Я так понимаю что проблема в том, что нету библиотеки Microsoft.Office.Interop.Excel.dll. Я пытался найти подобрый установщик этого кампанента, но безуспешно. А устанавливать саму Вижал Студию на других ПК не выход явно. Посоветуете как быть...?!
Уходя с аэродрома прихвати деталь для дома.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: Excel version=11 and version=12

Сообщение VVitafresh » 28.03.2011 (Пн) 13:28

MAGRAV писал(а):Я так понимаю что проблема в том, что нету библиотеки Microsoft.Office.Interop.Excel.dll. Я пытался найти подобрый установщик этого кампанента, но безуспешно. А устанавливать саму Вижал Студию на других ПК не выход явно. Посоветуете как быть...?!

Если я не ошибаюсь, на целевом компьютере нужно устанавливать не Visual Studio, а пакет MS Office требуемой версии. ИМХО, без установленного офиса работать не будет, т.к. Microsoft.Office.Interop.Excel.dll это лишь прослойка для взаимодействия с объектной моделью Excel'я.

Вот пара ссылок по теме:
http://support.microsoft.com/default.as ... -US;328912
http://www.xtremevbtalk.com/showthread.php?t=160433
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

MAGRAV
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.01.2011 (Чт) 11:57

Re: Excel version=11 and version=12

Сообщение MAGRAV » 29.03.2011 (Вт) 7:54

Спасибо за участие!

Всё оказалось весьма просто. Положил вместе с приложением соответствующую бибилиотеку (файл Microsoft.Office.Interop.Excel.dll) и всё заработало. Причем без разницы какой тип связывания применять. Единственное что беспокоит - это то с какой задержкой откликается Excel при открытии на сторонних компах.
Уходя с аэродрома прихвати деталь для дома.

MAGRAV
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.01.2011 (Чт) 11:57

Re: Excel version=11 and version=12

Сообщение MAGRAV » 29.03.2011 (Вт) 7:58

Недумал что можно так просто поступить. Был убеждён что библиотека принеприменно должна проходить процедуру регистрации в системе.
Уходя с аэродрома прихвати деталь для дома.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: YaCy [Bot] и гости: 10

    TopList