print в макросах на ЯП питон

Автор Ципихович Эндрю, 10 апреля 2026, 10:43

0 Пользователи и 1 гость просматривают эту тему.

Ципихович Эндрю

здравствуйте, макросы на ЯП питон, безобидная строка print
и как потом читать эту инфу? когда месседж бокс не подходит, я нашёл только:
import os

def debug_print(_=None):
    append_log("привет мир!")
   
def append_log(text):
    # Путь к файлу с отладочной информацией C:\Users\start=C:\Пользователи\start
    log_path = os.path.join(os.path.expanduser("~"), "log.txt")
    # Записываем debug info в файл log_path, "a" означает append (дозапись)
    with open(log_path, "a", encoding="utf-8") as f:
        f.write(text + "\n")
 
# --- Обязательная переменная для регистрации макросов ---
g_exportedScripts = (debug_print, append_log)
задачу решает, но как-то это как для меня я считаю НЕ правильно))
может расширение есть? спасибо

economist

Эндрю, поменьше текста! Задавайте вопросы конкретнее, чтобы из вопроса было понятно что уже вами получено.

Выполнять ваши простыни кода, как и читать длинные монологи, отдаленно связанные с  частью вопроса - нет ни малейшего желания и времени. Но совет свой я повторю: включите расширение APSO и освойте его 4 пункта, он покажет значения всех переменных при пошаговом(!) выполнении (да, коряво, но все привыкли и вы привыкнете, если хотите продолжать с Python в LO).

Вместе со Средством разработчика из меню Сервис - это позволяет увидеть в огромном списке то что вам нужно. Да, нужен навык (но он нужен во всём, просто здесь особенно).

И не надо ничего сохранять в файл, все видно в двух окнах APSO.
Пить не буду коньяка - читану Питоньяка!

Ципихович Эндрю

economist, я так понял, речь о Tools (Сервис) → Macros (Макросы) → Organize... (Организовать)
окно небольшое не расширяется есть Menu – Python shell -  APSO console? и как им пользоваться любое движение в документе удаляет это окно и оно находится в панели задач, прыгать между эти окнами? как закрепить окно APSO console?

sokol92

#3
Цитата: Ципихович Эндрю от 10 апреля 2026, 10:43может расширение есть?
В подобных ситуациях лучшее решение - использовать то, что есть.
В MS Windows в командной строке для запуска LibreOffice замените soffice.exe на soffice.com. Выполните запуск LibreOffice из "Командной строки" или файлового менеджера (Far, ...).
Пример командной строки (с конфигурацией пользователя в папке C:\temp\LibreOffice):
"C:\Program Files\LibreOffice\program\soffice.com" --norestore -env:UserInstallation=file:///c:/Temp/LibreOffice
Владимир.

economist

Alt+Shift+F11 - LibreOffice Macros - HelloWorld - Menu - Debug - Python shell (сжимаем окна Writer, в нем открываем Сервис- Инструменты разработчика, делаем окно APSO и консоли одно под другим, важно видеть все три окна (два монитора в три раза лучше чем один).

Осмотрим местность. Видно что APSO не глуп и готов показать что уже есть переменные desktop model text tRange - это все в свете ваших вопросов с формулами очень актуально. Средства MRI и XRAY еще подробнее, но тут проще начать.

Теперь все внимание кнопкам наверху - Stop/Run Debugger и StepOver (слева вверху). Нажимаем - смотрим как меняются значения. Размер шрифта задается там же где и для Basic. 
Пить не буду коньяка - читану Питоньяка!

Ципихович Эндрю

economist - спасибо опробую
sokol92 - запустил с командной строки:
"C:\Program Files\LibreOffice\program\soffice.com" "C:\Users\start\OneDrive\Рабочий стол\1.odt"
и что это даёт-пока не понял))

sokol92

Цитата: Ципихович Эндрю от 10 апреля 2026, 14:10и что это даёт-пока не понял))
Вывод встроенной функции print отображается в окне "Командной строки".
Владимир.

Ципихович Эндрю

спасибо всем откликнувшимся!

Ципихович Эндрю

Цитата: economist от 10 апреля 2026, 13:55Alt+Shift+F11 - LibreOffice Macros - HelloWorld - Menu - Debug - Python shell (сжимаем окна Writer, в нем открываем Сервис- Инструменты разработчика, делаем окно APSO и консоли одно под другим, важно видеть все три окна (два монитора в три раза лучше чем один).
лучше один раз увидеть ... можно плиз скрин этих окон? спасибо

economist

Удобнее на 2-х мониторах - это сразу +40% к КПД.
Пить не буду коньяка - читану Питоньяка!

Ципихович Эндрю

economist, спасибо за ответ, скрин, инеты говорят:
Окно отладки APSO (APSO Debug) в LibreOffice Writer открывается следующим образом:
Откройте LibreOffice Writer.
Перейдите в меню «Сервис» → «Макросы» → «Организовать макросы» → «Python» (или используйте сочетание клавиш Alt+Shift+F11).
В появившемся окне APSO выберите нужный макрос (функцию), который хотите отладить.
Нажмите на кнопку «Меню» (или «Действия») и выберите «Отладка» (Debug).
Откроется окно отладчика APSO, где можно выполнять код по шагам, просматривать стек вызовов, переменные и состояние объектов - нет там такого!
в этом окне "Макросы Python" есть недоступные кнопки:
"Создать" "Правка" "Переименовать" "Удалить"
в этом же окне доступны только кнопки
"Закрыть" "Выполнить"
и как быть?

economist

Читать и выполнять #4, а не инеты. Если кнопка не активна - значит не тот контекст. Например не выделен или не открыт макрос HelloWorld. Не спешите, макросы это про усидчивость. 
Пить не буду коньяка - читану Питоньяка!

Ципихович Эндрю

economist-спасибо, всё сделал, всё понятно