Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
2 / 2 / 4
Регистрация: 14.08.2013
Сообщений: 105
1
.NET 3.x

Некорректная работа с Microsoft.office.interop.excel.dll на других ПК

22.11.2013, 06:37. Показов 4209. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добра!
Понимаю, тема уже избита и много раз обсуждалась, но все же хотелось уточнить раз и навсегда
На рабочей станции стоит
Win7Pro, office2010, Visual Studio 2013 Express
Программа из ресурса копирует на компьютер файл test.xls затем открывает его и заполняет данными.
Все бы ничего, но если запустить исполняющий файл на другом компьютере
WinXP(Pro), office2003
Выходит сообщение связанная с Microsoft.office.interop.excel.dll ( что мол не та версия файла и т.д. и т.п)
Так все же как победить эту закавыку?
Как же сделать что бы приложение работало со всеми версиями Office или как минимум (2003 и выше)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2013, 06:37
Ответы с готовыми решениями:

Работа с документами Excel без Microsoft.Office.Interop.Excel
всем добрый день все дело в том что для своих программ я использую БД Excel но! однако не все...

Interop.Microsoft.Office.Interop.Excel
Добрый день! Собственно есть Win10, Visual Studio 2019, есть MS Office 2007 с установленным...

Microsoft.Office.Interop.Excel
Доброго времени суток! Делаю гистограмму, есть код: var XL1 = new Application(); ...

Как подключить microsoft.office.interop.excel
Добрый день. У меня такой вопрос: Во время написания курсовой работы по программированию,...

9
2 / 2 / 4
Регистрация: 14.08.2013
Сообщений: 105
22.11.2013, 07:55  [ТС] 2
пожалуй добавлю скрин ошибки которая выходит на других компах.
Если рядом с проектом поместить файл *.dll версии 14 - проект будет работать?
Как вариант в ресурс можно поместить dll разных версий.
Проверять версию MSOffice. Сделать условие если 2003 то выкладываем dll соответствующей версии
если 2010 то собственно dll своей версии.
Миниатюры
Некорректная работа с Microsoft.office.interop.excel.dll на других ПК  
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
22.11.2013, 11:19 3
Цитата Сообщение от Накурикота Посмотреть сообщение
в ресурс можно поместить dll разных версий
Наверное так будет правильно ведь библиотека которую вы подключаете идёт вместе с офисом. На другом компе прога берёт его библиотеку. вы у себя делаете с библиотекой версии 14, а там допустим версия 6. Тоже такое было при работе с экселем(просто скидывал пользователю не только экзешник, но и .dll)
0
2 / 2 / 4
Регистрация: 14.08.2013
Сообщений: 105
22.11.2013, 11:22  [ТС] 4
на данный момент собрал dll разных версий
dll v11, v12, v14 - буду пробовать.
Как узнать версию Office на локальном компьютере никто не знает?
0
32 / 32 / 4
Регистрация: 01.07.2013
Сообщений: 230
22.11.2013, 11:31 5
Например если есть ключ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0 - значит стоит 2003 офис, ну и т.д.
http://www.codeproject.com/Art... -s-Version
1
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
22.11.2013, 12:05 6
А еще можно использовать позднее связывание и не заморачиваться версиями excel
0
2 / 2 / 4
Регистрация: 14.08.2013
Сообщений: 105
22.11.2013, 12:17  [ТС] 7
Имеется виду самая последняя версия *.dll?
Я сделал так - закинул в ресурс последнею версию *.dll и при запуске программы она копируется с ресурса рядом с exe и успешно запускается опробовал на версии Office 2003/2007/2010
0
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
22.11.2013, 12:26 8
Цитата Сообщение от Накурикота Посмотреть сообщение
Имеется виду самая последняя версия *.dll?
нет. Вот выйдет еще один офис (да в двух редакциях x86 и x64) - будете от них искать длл и еще проверять какая архитектура системы и какую библиотеку надо распаковать?

Позднее связывание позволяет совсем избавиться от офисовской длл.
0
2 / 2 / 4
Регистрация: 14.08.2013
Сообщений: 105
22.11.2013, 12:30  [ТС] 9
пробовал на имеющихся
Цитата Сообщение от freeba Посмотреть сообщение
редакциях x86 и x64
пока нормально. Конечно если будет офис 2020 то для него будет Dll - и в данном случаи ее нужно будет так же добавлять в ресурсы или даже просто заменить.
а вот про
Цитата Сообщение от freeba Посмотреть сообщение
Позднее связывание
можно подробней?
просто такая закавыка имеет место быть и хотелось бы решить ее раз и навсегда! Спасибо.
0
Неадекват
1492 / 1230 / 246
Регистрация: 02.04.2010
Сообщений: 2,789
22.11.2013, 13:37 10
держите проект
4
22.11.2013, 13:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2013, 13:37
Помогаю со студенческими работами здесь

Где взять справочник функций сборки Microsoft.Office.Interop.Excel?
Имеется код, где используется сборка Microsoft.Office.Interop.Excel using System; using...

Не могу найти в менеджере ссылок сборку "Microsoft.Office.Interop.Excel"
Пытаюсь подключить сборку "Microsoft.Office.Interop.Excel" Подключил COM "Microsoft Excel 16.0...

Microsoft.Office.Interop для всех версий MS Office
Здравствуйте! Нашёл кучу околоподобных тем, но без нужных решений. Задача такая: Пишу на C#...

Microsoft.Office.Tools.Excel.dll
Добрый день. Подскажите пожалуйста где можно скачать Microsoft.Office.Tools.Excel.dll

Невозможно загрузить файл или сборку "Microsoft.Office.Interop.Excel" при переносе приложения на другой ПК
есть приложение Windows Form. На форме есть button, при нажатии на который некоторые данные...

Альтернатива Microsoft.Office.Interop.Word
Если альтернатива пространства Microsoft.Office.Interop.Word?Мне нужно выложить программу на сервер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru