Макрос просто закрывает форму (с сохранением БД). Мне нужен одновременно выход из OpenOffice. Не могу найти что-то типа EXIT
Sub Exit_balans
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
ThisComponent.CurrentController.Frame.close(true)
End Sub
Скорей всего, из Basic сделать это нельзя, зато можно сделать из Python.
А из Basic вызвать макрос на Python.
Пока обойдусь стандартным Ctrl+Q.
Язык Python не знаю.
Цитата: adi_den2013 от 13 февраля 2014, 09:37dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
Кстати - это ведь сохранение формы как документа, а не БД. Как сохранить базу данных?
Ян, а ты уверена что нужно закрыть ВЕСЬ офис? Такой вариант существует, но стрёмно... А вдруг у человека помимо твоей базы в том же офисе была открыта пачка документов и таблиц с кучей правок, а тут - оп-па! - "тебе это всё не надо, закрываемся!"
Если все-таки хочешь закрываться полностью, посмотри у Питоньяка 5.8. Open And Close Documents (And The Desktop)
А база сохраняется, кажется, через ThisComponent.getParent().DataSource.DatabaseDocument.store()
Посмотрел команды диспетчера:
https://wiki.openoffice.org/wiki/Framework/Article/OpenOffice.org_3.x_Commands
.uno:Close - закрывает текущее окно
а вот .uno:CloseDoc закрывает компонент
Sub Exit_balans
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:CloseDoc", "", 0, Array())
End Sub
Цитата: JohnSUN от 13 февраля 2014, 11:29Ян, а ты уверена что нужно закрыть ВЕСЬ офис?
Вот уж уверена! Бухгалтерия - привилегированный класс, одни из многих не перешедшие из платного офиса на бесплатный >:( .
Поэтому такая круговерть с оборотом документов
OpenOffice Writer (только этот отчет)-> Microsoft Word (вся остальная документация)-> Acrobat Reader(PDF) потому, что Word не понимает ссылки на переменные которые формируются программно и ругается / чтобы красиво выглядело на печати/
И еще - мне нужно заблокировать доступ к таблицам, который открывается просто при закрытии главной формы. Чтобы не разгребать потом руины после случайно натыканных кнопок..
Цитата: adi_den2013 от 13 февраля 2014, 13:40Бухгалтерия - привилегированный класс...
О, да! "В древней Спарте толстых и некрасивых женщин скидывали в бухгалтерию."