16.11.2011, 08:45 | #1 |
Участник
|
Работа с примечаниями (вложенными файлами)
Условно говоря по задумке есть некоторый справочник шаблонов (формат офис 2003, допустим).
Шаблоны храняться как файлики прикрепленные в примечании. Вытащить примечание - не проблема. Вопрос - могу ли я в плагине открыть Word документ, взять из него текст, изменить как мне надо и прикрепить в другой примечание вновь как Word документ. Будет ли работать сборка Microsoft.Office.Interop.Word.dll если её подключить к плагину? Либо альтернативный вариант, если использовать JavaScript. Как работать через JS через ActiveX с Word понятно. Как javaScript может вытащить документ из одного примечания и вставить как новое примечание в другом объекте? Последний раз редактировалось KP0H; 16.11.2011 в 09:58. |
|
16.11.2011, 10:19 | #2 |
Чайный пьяница
|
Microsoft.Office.Interop.Word.dll будет работать. Делал практически то же самое только с Excel.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: KP0H (1). |
16.11.2011, 10:25 | #3 |
Moderator
|
JavaScript может все! В том числе использовать веб сервисы системы для того чтобы работать с примечаниями. Проблема в том, что JS работает только по событиям формы, я же понял, что вы хотите делать это без участия пользователя.
p.s. Подобные вещи проще проверять империческим путем, а не задавать вопросы на форуме.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
16.11.2011, 12:34 | #4 |
Участник
|
Я совмещаю по мере возможностей и пока готовлю решение для проверки империческим путем - спрашиваю.
У меня возникли сложности следующего характера: 1. В случае работы через плагин насколько я понимаю необходимо сохранить документ из вложения, перед тем как открыть его. 2. В JS проблем с открытием нет, есть проблема с тем что я пока не могу понять как вытащить требующиеся мне примечание и документ из него. Пока что проверяю мои предположения. Мне нужно завести какую-то конкретную директорию и выдать на нее права пользователю IIS? Или нужны какие-то более хитрые манипуляции? Последний раз редактировалось KP0H; 16.11.2011 в 12:55. |
|
16.11.2011, 14:44 | #5 |
Участник
|
Мои эксперименты как то зашли в тупик.
Interop запускает Word как процесс, следовательно ему нужно указать файл. Я же имею только DocumentBody, и не знаю как из них получить файл. Насколько я понимаю Plugin'у нельзя дать права на физический жесткий. Если я работаю через JavaScript я получаю DocumentBody, и могу его сохранить через ActiveX, как текстовый файл, но мне нужно сделать конвертацию из Base64String и сохранить как doc. Я чего то не понимаю. |
|
16.11.2011, 14:53 | #6 |
Участник
|
Если вас устроит формат docx/xlsx, то можно использовать библиотеку OpenXML.
|
|
16.11.2011, 17:34 | #7 |
Moderator
|
Если плагин выполняется не в SandBox, то он может иметь доступ к файловой системе. А вот если то же попробует сделать ActiveX, то браузер будет ругаться.
Как бы я решал задачу. 1. Я бы написал свой веб сервис, у которого были бы права на каталог для временных файлов, в своей же директории. 2. Реализовал бы в нем нужную логику работы. Для работы с документом при этом можно и нужно использовать новый SDK, а не интроп объекты, которые работают через COM. 3. Вызывал этот сервис скриптом или из плагина.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 16.11.2011 в 23:45. |
|
16.11.2011, 20:52 | #8 |
Участник
|
Я тоже пришел к этому выводу. Буду WCF-сервис поднимать.
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Работа с Контрактом | 3 | |||
Работа с разрешенными обращениями | 6 | |||
Работа Outlook клиента вне домена | 3 | |||
Работа с едиными данными | 8 | |||
Работа с процессами продаж возможной сделки | 0 |
|