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

Главная категория => Макросы => Тема начата: Kadet от 23 сентября 2020, 15:02

Название: LibreOffice и API-функции
Отправлено: Kadet от 23 сентября 2020, 15:02
Можно ли в LO как-нибудь работать с API-функциями.
В частности хотелось бы поработать с функциями общения с реестром Windows:

Создать ключ - RegCreateKeyEx().
Открыть существующий ключ: RegOpenKeyEx().
Закрыть ключ - RegCloseKey().
Чтение данных - RegGetValue().
Запись данных - RegSetValueEx().
Удаление данных - RegDeleteValue().
Название: Re: LibreOffice и API-функции
Отправлено: sokol92 от 23 сентября 2020, 15:26
Мне кажется, что оптимальный путь для работы с реестром Windows в LO - использование WMI (https://www.script-coding.com/WMI_StdRegProv.html) или объекта WScript.Shell (https://www.script-coding.com/WSH/WshShell.html).
Название: Re: LibreOffice и API-функции
Отправлено: economist от 23 сентября 2020, 16:12
Для Питона тоже валом библиотек (все - бесплатные) для работы с реестром, причем на любой Windows-инструмент (WMI/DNS/Реестр/LDAP итд) - будет как минимум 2-3 рабочих варианта.

Можно использовать встроенный в LO Python и дергать скрипт из BASIC-кода, как с появлением окон/взаимодействием со скриптом при oSvc.execute(...), так и полностью скрытно script.invoke(...)

Если вам нужно что-то получать обратно в момент выполнения - то PS/VBS/WSH могут удивить. Да и само написание/отладка этих скриптов в блокнотах - чистой воды overkill
Название: Re: LibreOffice и API-функции
Отправлено: Kadet от 23 сентября 2020, 16:18
Спасибо за направление исследований.
Цитата: economist от 23 сентября 2020, 16:12Для Питона тоже валом библиотек
Вы меня таки вынудите изучить Питон... Пока я его побаиваюсь ибо неизвестность всегда пугает, хотя расписанные вами перспективы заманчивы.
Название: Re: LibreOffice и API-функции
Отправлено: kompilainenn от 23 сентября 2020, 17:45
Цитата: Kadet от 23 сентября 2020, 16:18Вы меня таки вынудите изучить Питон... Пока я его побаиваюсь ибо неизвестность всегда пугает, хотя расписанные вами перспективы заманчивы.
Учите, поимеете кучу профитов
Название: Re: LibreOffice и API-функции
Отправлено: Kadet от 23 сентября 2020, 23:33
Так, читать реестр я, кажется, научился.
Function DefaultMailAccount() As String
Dim key$
   ' читает из реестра настройки почтового ящика,
   ' установленного в TheBAT! как "ящик по-умолчанию"
   ' возвращает адрес почты, или пустую строку, если TheBAT! не настроен
'   On Error Resume Next: Err.Clear
   key = "HKEY_CURRENT_USER\Software\RIT\The Bat!\Users depot\Default"
   DefaultMailAccount = CreateObject("WScript.Shell").RegRead(key$)
End Function


Честно слямзил отсюда (https://excelvba.ru/code/registry).

Всё остальное, дело техники. Отсюда.
Цитата: sokol92 от 23 сентября 2020, 15:26или объекта WScript.Shell (https://www.script-coding.com/WSH/WshShell.html).
Спасибо!
Название: Re: LibreOffice и API-функции
Отправлено: sokol92 от 24 сентября 2020, 11:30
Обе ссылки из ответа #1 ведут на сайт www.script-coding.com (https://www.script-coding.com). Рекомендую!