646 / 474 / 38
Регистрация: 04.11.2013
Сообщений: 1,949
|
||||||
1 | ||||||
Imports Microsoft.Office.Interop не работает12.04.2016, 16:17. Показов 11902. Ответов 19
Доброго времени!
Имею на машине Вынь10, VB Express 2010 и 2016 офис. Хочу прикрутить к программе пространство имен VBA Excel. И не получается. Внимательно прочитал вот это: https://msdn.microsoft.com/ru-... -snippet-1 , нашел вот эту запись, вставил, а оно мне говорит: "Пространство имен или тип, указанные в операторе Imports "Microsoft.Office.Interop", не содержат открытые члены или не могут быть найдены. Убедитесь, что пространство имен или тип определены и содержат хотя бы один открытый член. Убедитесь, что имя импортируемого элемента не было использовано в других Imports."
0
|
12.04.2016, 16:17 | |
Ответы с готовыми решениями:
19
Работа с Microsoft.Office.Interop.Excel VS 2015. Не импортируется Microsoft.Office.Interop Microsoft.Office.Interop.Excel.Worksheet - переключение между листами Microsoft.Office.Interop.Excel.Application процессы Excel в памяти компьютера |
8942 / 4854 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||||||
12.04.2016, 16:28 | 2 | |||||
На сайте для кода VB ошибка, в версии для C# всё правильно. Должно быть:
0
|
646 / 474 / 38
Регистрация: 04.11.2013
Сообщений: 1,949
|
|
12.04.2016, 16:53 [ТС] | 3 |
Пробовал. Та же ошибка. Мало того, я в ссылках на вкладке COM не могу найти Microsoft Excel Object Library. Это какая-то фишка 2016 версии, видимо.
Добавлено через 10 минут http://stackoverflow.com/quest... erop-excel Вот тут говорят, что надо импортировать Microsoft.Office 16.0 Object Library. Только оно не работает - пространство имен не появляется все равно.
0
|
8942 / 4854 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
12.04.2016, 16:56 | 4 |
У меня стоит 2016. Всё присутствует. Сначал добавляешь ссылку на библиотеку, затем импортируешь пространство имён
1
|
646 / 474 / 38
Регистрация: 04.11.2013
Сообщений: 1,949
|
|
12.04.2016, 17:35 [ТС] | 5 |
А у меня даже не предлагает interop после microsoft.office.
Я вот задумался: может быть причиной express-выпуск студии?
0
|
8942 / 4854 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
12.04.2016, 17:54 | 6 |
Microsoft Excel 16.0 Object Library. Не Office
0
|
1149 / 906 / 153
Регистрация: 25.07.2015
Сообщений: 2,041
|
|
12.04.2016, 18:45 | 7 |
Что-то подсказывает , что VS2010 не коннектится с библиотеками 2016 офиса
0
|
8942 / 4854 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
|
12.04.2016, 19:19 | 8 |
Это почему же?
0
|
Модератор
4298 / 3374 / 505
Регистрация: 27.01.2014
Сообщений: 6,179
|
|
12.04.2016, 20:47 | 9 |
у меня все работает. вы не на вкладке COM ищите библиотеку а на вкладке NET.. и еще, смотрите на версию, не выбирайте версию 14.0 так как на машинах где стоит офис 2007-2014 ваша программа не запустится, выбирайте версию 12.0... это значит что начиная с офиса 2007 все последующие будут поддерживаться вашим ПО.
1
|
646 / 474 / 38
Регистрация: 04.11.2013
Сообщений: 1,949
|
|
13.04.2016, 16:42 [ТС] | 10 |
У меня НЕТУ Microsoft Excel 16.0 Object Library ни на вкладке COM, ни на вкладке .NET. Могу скрины выложить.
Не могли бы Вы указать путь до нужной библиотеки? Поищу подобную у себя. Что-то из области фантастики и сопряжения Win10, Office16 и VS2010. Дома на Вынь7 и 2013 офисе с той же студией все ок - на вкладке .net есть microsoft.office.interop.excel 2 версий - 12 и 14.
0
|
Модератор
4298 / 3374 / 505
Регистрация: 27.01.2014
Сообщений: 6,179
|
|
13.04.2016, 17:22 | 11 |
Сообщение было отмечено Proidoha как решение
Решение
а тогда вопрос - а какой у вас офис? не 64 бит случайно?
посмотрите по этому пути: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.lnterop.Excel.dll
2
|
646 / 474 / 38
Регистрация: 04.11.2013
Сообщений: 1,949
|
|
13.04.2016, 18:12 [ТС] | 12 |
Да, Офис "стандартный 2016 х64". В папке C:\Program Files (x86)\Microsoft Visual Studio 10.0\ папки Visual Studio Tools for Office у меня нет. И это ответ на мой вопрос. Спасибо! Необходимо было установить этот пакет отдельно (он не входит в пакет VB 2010 Express по умолчанию). Ссылка на требуемый пакет: https://www.microsoft.com/ru-r... x?id=48217
1
|
1712 / 1200 / 227
Регистрация: 23.12.2010
Сообщений: 1,527
|
|
14.04.2016, 07:15 | 13 |
хм... а как же без этих тулов цеплялись в vb6 или в версиях до 2005... Часом, когда ставили офис, не убрали в настройках галку, отвечающую за это? Что-то вроде "поддержка программирования" или как-то так... Я в свое время еще в 2003м офисе сэтим налажал. В итоге написанные уже программы с ним работать могли, а вот в новом проекте добавить ссылку никак нельзя было, и если открыть исходники других проектов - студия ругалась на эти ссылки. Позднее связывание при этом работает.
0
|
Модератор
4298 / 3374 / 505
Регистрация: 27.01.2014
Сообщений: 6,179
|
|
14.04.2016, 08:49 | 14 |
vb6 не видел библиотек от 64-битного офиса. в NET с этим, суда по исходам данной темы, проблем нет... а в vb6 использовался COM объект, в NET же чаще люди используют вспомогательную библиотеку Office.Interop, которая является всего навсего набором констант и тому подобного... своего рода позднее связывание, но дающее помошь в редакторе кода с подсказками от Intellisense... кажется так
0
|
1712 / 1200 / 227
Регистрация: 23.12.2010
Сообщений: 1,527
|
|
14.04.2016, 09:11 | 15 |
не, я не в контексте х64. Просто комплекта VSTO ведь не было. Да и потом он уже появился только к 2005 версии, отдельным дистрибутом, а только с 2008й начал по умолчанию ставиться.
Я имел в виду, что при установке офиса вполне можно отключить возможность присоединения библ к среде программирования, и такое бывает в некоторых сборках 2003 по умолчанию (с чем я однажды и столкнулся). Проблема решилась переустановкой офиса в режиме исправления. Как-то так...
0
|
646 / 474 / 38
Регистрация: 04.11.2013
Сообщений: 1,949
|
|
14.04.2016, 13:01 [ТС] | 16 |
Сисадмины говорят, что никакие галочки не снимали.
Раньше написал, что проблема решена, но, к сожалению, это не так. Установка Visual Studio Tools for Office вообще никак не изменила ситуацию: Папка C:\Program Files (x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\ по прежнему отсутствует На диске C отсутствует файл Microsoft.Office.lnterop.Excel.dll Нашел похожую тему на форуме: Как подключить microsoft.office.interop.excel Предложенный в теме msi скачал и установил. И все равно никаких изменений. Есть еще идеи как бороться с этой бедой?
0
|
Модератор
4298 / 3374 / 505
Регистрация: 27.01.2014
Сообщений: 6,179
|
|
14.04.2016, 19:46 | 17 |
интересно получается. может все дело в Express версии студии? хотя врятли...
0
|
646 / 474 / 38
Регистрация: 04.11.2013
Сообщений: 1,949
|
|
15.04.2016, 15:22 [ТС] | 18 |
Решил беду скачав с домашнего компа полностью папку Visual Studio Tools for Office и подсунув программе нужную библиотеку вручную. Костыль, конечно, но хоть так. Пространство имен появилось, компиляцию пока не пробовал делать.
0
|
19 / 19 / 0
Регистрация: 05.02.2015
Сообщений: 175
|
|
08.09.2016, 16:59 | 19 |
Доброго вечера.
Подскажите, как сделать "универсальную ссылку", к примеру на excel, если заранее не известно, какой офис установлен на ПК?
0
|
Модератор
4298 / 3374 / 505
Регистрация: 27.01.2014
Сообщений: 6,179
|
|
08.09.2016, 17:28 | 20 |
Devils, универсальных не бывает, есть только позднее связывание, в котором все рабочие объекты имеют тип Object вместо Excel, Word, Range и так далее.
0
|
08.09.2016, 17:28 | |
08.09.2016, 17:28 | |
Помогаю со студенческими работами здесь
20
Работа с Excel через Microsoft.Office.Interop.Excel Не могу записать в файл Excel при Microsoft.Office.Interop.Excel.Application.Visible = False "Application" в пространстве имен "Microsoft.Office.Interop.Excel" является неоднозначным Добавление References Microsoft.Office.Interop Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |