Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

17 Июль 2018, 20:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: C# и Open office не выполняется макрос на странице  (Прочитано 355 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Nickolay79
Новичок
*
Offline Offline

Сообщений: 3


« Стартовое сообщение: 25 Июнь 2018, 11:34 »

Добрый день, форумчане! Столкнулся с такой проблемой.
Имеется база данных  ее записи обрабатываю в c#, вывожу на экран через datagridview. Необходимо распечатать эти данные. Сделал шаблон необходимого документа. В него добавляю построчно данные. Сохраняю как другой документ... В документе есть макрос  который считает кол - во, по определенным критериям. Вот когда открываю сохраненный документ с под с# в ячейках подсчета значений макросом выдается "Значение#" (макрос получается не выполняется). Когда открываю документ с папки непосредственно, тогда все работает как надо.
Что делаю не так? как запустить с под C# выполнение макроса. Благодарю за ответ.
Записан
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 286


« Ответ #1: 25 Июнь 2018, 11:58 »

Если документ заполняется из проги на c#, так реализовать подсчет количества в ней
Записан
Nickolay79
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #2: 27 Июнь 2018, 08:27 »

Спасибо. Сам про это думал и так сделал, на первое время. Но вот хотелось бы и разобраться как открыть докмуент опенофиса с выполнением макроса (на будущее может пригодиться ;-))
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 496


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 27 Июнь 2018, 09:24 »

Открываешь документ с помощью .loadComponentFromURL()?
У него четыре параметра. Последний - массив структур типа com.sun.star.beans.PropertyValue
Чтобы управлять макросами открываемого документа, нужно в этот массив вставить элемент с именем "MacroExecutionMode" и с нужным
значением из этого перечисления
Что-то вроде такого:
Код:
Dim oProp(5) As New com.sun.star.beans.PropertyValue
...
oProp(1).Name = "MacroExecutionMode"
oProp(1).Value = com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN
...
oDoc = StarDesktop.loadComponentFromURL("file:///D:/path/to/my/file.ods", "_blank", 0, oProp())
(Разумеется, в "пошарпанном Си" это будет записано немного иначе)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Nickolay79
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #4: 9 Июль 2018, 15:39 »

спасибо большое. попробую на досуге поиграться. пока решил сформировать подсчет sql и выводить все в пдф
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!