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

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

28 Май 2017, 11:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Взаимодействие с диалоговыми окнами Calc  (Прочитано 432 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ArVorozh
Новичок
*
Offline Offline

Сообщений: 10


« Стартовое сообщение: 18 Январь 2017, 20:01 »

При написании макроса столкнулся с проблемой, что при сохранении файла в CSV появляется модальное окно и выполнение макроса приостанавливается, пока не нажмёшь "ок". Каким образом можно такие окна средствами макроса закрыть и вообще как с диалогами, созданными не самим макросом, а либрой, взаимодействовать?

Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Online Online

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


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


WWW
« Ответ #1: 18 Январь 2017, 20:17 »

Ну, если макрос записать правильно, то у офиса вопросов не возникнет.
Как правильно писать в CSV-файл можно посмотреть у Питоньяка, или здесь

(Забавно... На форуме пошла полоса вопросов, на которые были даны ответы пять лет назад)
Записан

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

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #2: 18 Январь 2017, 20:36 »

Забавно... На форуме пошла полоса вопросов, на которые были даны ответы пять лет назад
Пиши макрос прибавляющий 5 лет к старым ответам Смеющийся Смеющийся Смеющийся
Записан

ArVorozh
Новичок
*
Offline Offline

Сообщений: 10


« Ответ #3: 18 Январь 2017, 20:39 »

ну, видимо, через диспатчер- это не очень правильно Улыбка
Код:
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
PathUMI = ConvertToURL(Mid(ConvertFromURL(ThisComponent.url),1,inStr(ConvertFromURL(ThisComponent.url),".xls")-1) + ".csv") 'получаем путь для сохранения- конвертируем из юрла и тайтла текущего файла, вынимаем текущую папку при помощи mid и instr и добавляем файлик потом конвертируем обратно в юрл.
dim exportParam(2) as new com.sun.star.beans.PropertyValue
exportParam(0).Name = "URL"
exportParam(0).Value = PathUMI
exportParam(1).Name = "FilterName"
exportParam(1).Value = "Text - txt - csv (StarCalc)"
exportParam(2).Name = "FilterOptions"
exportParam(2).Value = "59,34,34,1,,0,true,true,false,false"
dispatcher.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:SaveAs", "", 0, exportParam())
завтра утром на свежую голову сделаю по человечески через ThisComponent.storeToURL.
Каким-то образом упустил книгу версии 3.0 - огромное спасибо за наводку.
Записан
ArVorozh
Новичок
*
Offline Offline

Сообщений: 10


« Ответ #4: 18 Январь 2017, 20:40 »

Пиши макрос прибавляющий 5 лет к старым ответам Смеющийся Смеющийся Смеющийся
Возможно, кто-то уже написал такой для вопросов))
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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