https://help.libreoffice.org/Calc/Recalculate заголовок сказал все это. У меня есть файл Excel с большим количеством RANDBETWEEN () функция. Интересно, могу ли я повторно создать число, на самом деле не открытие Libreoffice, но с помощью терминальной команды?
Заранее спасибо, парни.
RANDBETWEEN
повторно вычислит автоматически, когда файл будет открыт. Поэтому создайте следующий макрос в Моих Макросах, которые просто сохраняют и затем выходят.
Sub Recalculate()
'ThisComponent.calculateAll() ' Not needed
ThisComponent.store()
ThisComponent.close(True)
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(StarDesktop, ".uno:Quit", "", 0, Array())
End Sub
Затем выполняет макрос из командной строки, как описано сюда: https://unix.stackexchange.com/questions/7295/how-to-invoke-an-openoffice-macro-from-the-linux-command-line.
Однако несмотря на эти --invisible
флаг, окно LibreOffice все еще появится. Для хранения этого невидимым передайте имя файла в качестве параметра макросу и затем звоните loadComponentFromUrl
: https://superuser.com/questions/1135850/how-do-i-run-a-libreoffice-macro-from-the-command-line-without-the-gui.