Ronorono Ответов: 3

Программа Vb (VS 2010) доступ к ms-project в сочетании с инструментами visual studio 2010 для office-runtime


Мои первые шаги здесь, так что надеюсь, что я все делаю правильно... (кстати, голландец, так жаль бедного англичанина...)
Можно ли создать/использовать программу VB (Visual Stusio 2010), которая использует файлы/объекты Ms-project с помощью инструментов Visual Studio 2010 для Office-runtime. Конечный пользователь не имеет программы Ms-project установленной на своем компьютере, но ему необходимо изменить основную информацию в файле .mpp.

Что я уже пробовал:

Он работает, когда я тестирую его на своем компьютере разработки (имеет программу Ms-project), но после развертывания (приложение ClickOnce) на ПК конечного пользователя (без программы Ms-project) я получаю ошибку.

RickZeeland

Можете ли вы предоставить сообщение об ошибке ?
Сначала я думал, что отсутствует DLL или не имея прав администратора.

Ronorono

У меня есть prt scr, но я не знаю, как его сюда прикрепить... Это действительно ошибка dll, но я предполагаю, что среда выполнения не поддерживает и не работает с MS-project...
коротко : "COM-classfactory CLSID {36D27C48-A1E8-11D3-BA55-00C04F72F325} не удалось... ошибка 80040154"

3 Ответов

Рейтинг:
2

Richard Deeming

Нет. "Инструменты для Office" позволяют писать приложения, использующие существующую установку Office. Если у пользователя не установлен Office или соответствующее приложение Office, то ваш код не будет работать.

Есть несколько альтернативных решений, которые могут сработать для вас. Например:
MPXJ – введение[^]


Ronorono

Хорошо, что же тогда использовать библиотеку времени выполнения office. Я имею в виду помнить, что я использовал его в прошлом (VB6) для использования базы данных Access без доступа конечного пользователя к программе (так же как и через среду выполнения office)

Richard Deeming

Как объяснил Дэйв ниже, требуется библиотека времени выполнения Office в дополнение к офисное приложение.

Он не имеет подключения к библиотеке времени выполнения Access, что позволяет вашему коду работать с базой данных Access без установки Access.

Ronorono

Хорошо, но какова же тогда цель библиотеки времени выполнения office в VS?
Если я правильно прочитал с веб-сайта Microsoft : "эта загрузка устанавливает Visual Studio 2010 Tools for Office Runtime, который необходим для запуска решений на базе Microsoft Office, построенных с использованием Microsoft Visual Studio 2010, 2012, 2013 и 2015 годов."

Ronorono

Спасибо за альтернативу, но с "MPXJ – Introduction" я не могу писать в файл MPP.

Richard Deeming

Неудивительно, ведь MPP-это фирменный формат файлов Microsoft. Вам нужно либо сохранить файлы в формате MSPDI, либо найти альтернативную библиотеку, поддерживающую написание MPP-файлов, либо установить Project на компьютер, на котором будет выполняться ваш код.

Рейтинг:
2

Ronorono

Хорошо, но какова же тогда цель библиотеки времени выполнения office в VS?
Если я правильно прочитал с веб-сайта Microsoft : "эта загрузка устанавливает Visual Studio 2010 Tools for Office Runtime, который необходим для запуска решений на базе Microsoft Office, построенных с использованием Microsoft Visual Studio 2010, 2012, 2013 и 2015 годов."


Dave Kreskowiak

Вы написали это как ответ на свой собственный вопрос, а не в ответ на Ричарда.

Это среда выполнения для библиотеки инструментов Office, а не для любого из приложений Office. Если приложение, которое вы пишете, использует "Visual Studio Tools for Office", то вам необходимо установить эту среду выполнения, чтобы ваше приложение работало, помимо установки OFFICE.

Ronorono

Я знаю, но вчера этот сайт вел себя странно...

Для чего именно я могу использовать эту "библиотеку офисных инструментов", если она не предназначена для обработки приложений или файлов ?
Раньше существовала среда выполнения для MS-Access, поэтому вы можете использовать базу данных для хранения данных без установки office на ПК конечного пользователя...(VB6)

Dave Kreskowiak

Visual Studio Tools for Office используется для создания плагинов и надстроек для офисных приложений.

Среда выполнения Access была немного неправильно названа. Это был драйвер базы данных, установленный для баз данных Access и книг Excel. На самом деле это не позволяло вам редактировать файлы так же, как вы могли бы в этих приложениях, но это позволяло вам относиться к ним как к базам данных для приложений.

Рейтинг:
0

RickZeeland

Смотрите ответ здесь: Публикации ClickOnce не хватает ссылок на COM-взаимодействия - сообщества разработчиков [^]

Сообщение об ошибке также может быть WINPROJ.exe по теме, смотрите ответ здесь: Получение фабрики COM - класса для компонента с CLSID {36D27C48-A1E8-11D3-BA55-00C04F72F325} не удалось из-за следующей ошибки: 80080005 | The ASP.NET форумы[^]
Я подозреваю, что это может быть проблема с правами, так как Вы делаете установку ClickOnce (без прав администратора).
Я бы рекомендовал попробовать протестировать ваше приложение без ClickOnce и запуска от имени администратора.
Но, как сказал Ричард Диминг, это может быть просто потому, что офисное программное обеспечение не установлено.