LibreOffice Writer Python

Автор Ципихович Эндрю, 2 января 2024, 09:22

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

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

спасибо за ответ, а это на скрине каким редактором открыто?
так а я вам говорю о том, что папку 111111 невозможно раскрыть и оттуда запустить файл 111111.py по аналогии с папкой HelloWorld и файлом из этой папки HelloWorld.py

опаньки изображение тут на форуме только ссылкой? то есть залить на файлообменник? а если с него позже удалю?, желающие ведь не посмотрят, пока не понятно..........

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

как оказалось ссылка на изображение не вставилась - не понятно, как приложить изображение

bigor

Цитата: Ципихович Эндрю от  3 января 2024, 20:23спасибо за ответ, а это на скрине каким редактором открыто?
расширением APSO
Цитата: Ципихович Эндрю от  3 января 2024, 20:25не понятно, как приложить изображение
При наборе сообщения внизу справа нажмите кнопку Просмотр, далее думаю будет понятно

Поддержать наш форум можно здесь

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

вот изображение и повторюсь
я говорю о том, что папку 111111 невозможно раскрыть и оттуда запустить файл 111111.py по аналогии с папкой HelloWorld и файлом из этой папки HelloWorld.py

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

Цитата: bigor от  3 января 2024, 20:35
Цитироватьспасибо за ответ, а это на скрине каким редактором открыто?
расширением APSO
так это же должно было мне впитаться с молоком матери, увы нет - не смог понять как открыть-как?
если юзерки не понимают как приатачить скрин к сообщению на форуме, как открыть файл расширением - кодерам стоит задуматься, а всё ли они сделали как нужно

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

как выяснил расширение APSO это расширение Alternative Python Script Organizer=Альтернативный органайзер скриптов Python, оно позволяет управлять макросами на Python. Установив его, вы получаете большую интеграцию макросов на Python в LibreOffice. После перезапуска LibreOffice проверьте меню Сервис ▸ Макросы ▸ Организация макросов Python (у меня Organize python script).
инфа с https://wiki.documentfoundation.org/Macros/Python_Design_Guide/ru - тоже НЕ плохое разъяснение, и по данной ссылке контент с большим количеством ссылок
Так вот раскрыв Organize python script раскрываю папку LibreOffice Macros вижу свою папку 1111, раскрывая я получаю ошибку:
inconsistent use of tabs and spaces in indentation (<unknown>, line 6)=непоследовательное использование табуляции и пробелов в отступах (<неизвестно>, строка 6), а вот это засада как он считает строки?
реально в это файле у меня:
01 # -*- coding: utf-8 -*-
02 # Скрипт для LibreOffice
03
04 def Helpik():
05     """Prints the string 'Hello World (in Python)' into the current document."""
06   """Печатает строку 'Hello World (in Python)' в текущий документ."""
07     # Get the doc from the scripting context which is made available to all scripts.
07     # Получите документ из контекста сценария, который доступен для всех сценариев.
08    desktop = XSCRIPTCONTEXT.getDesktop()
09    model = desktop.getCurrentComponent()
10    # Check whether there's already an opened document.
11    # Otherwise, create a new one
12   # Проверяем, существует ли уже открытый документ.
13    # В противном случае создайте новый
14    if not hasattr(model, "Text"):
15        model = desktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, ())
16    # get the XText interface
17   # получаем интерфейс XText
18    text = model.Text
19    # create an XTextRange at the end of the document
20   # создаём XTextRange в конце документа
21    tRange = text.End
22    # and set the string
23   # и установите строку
24    tRange.String = "Hello World (in Python)111111"
24    return None
строки пронумеровал, надеюсь на пояснения знающих форумчан, спасибо

bigor

Цитата: Ципихович Эндрю от  4 января 2024, 10:02пояснения знающих форумчан
троллите? Я практически ноль в питоне, но и то знаю, что его синтаксис зависит от отступов.
Поддержать наш форум можно здесь

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

да ничего я не троллю, на мой взгляд нет ошибок, и не понятно, какая именно строка 6-я, где искать ошибку, вспомнил есть же у моего кумира Блокнот++ опция показать непечатаемые знаки, похоже на правду , что в 6-й строке ошибка

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

поправлю-отпишусь

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

поправил-гут=работает, в этом значит была ошибка, квест пройден

economist

Выбросьте Notepad++, используйте IDE Visual Studio Code, Codium, Thonny, IDLE или F4 в Far Manager

Вам все эти среды сразу скажут "unconsistent use of tabs and spaces in indentation" - недопустимое смешанное использование пробелов и таб-ов в отступах". IDE всегда заменят табуляцию на 4 пробела, и ошибки не возникнет.

Да, Notepad++ можно настроить как IDE (c плагинами), но займет это месяц.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

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

Цитата: economist от  4 января 2024, 12:20Да, Notepad++ можно настроить как IDE (c плагинами)
так это где его юзать можно будет в либре, или где?

economist

Определитесь с приоритетами. Например, я задаю вопросы своим ученикам: зачем Python и Макросы StarBasic/VBA, если не выучены Формулы, Функции, Промежуточные итоги и Сводные таблицы в Calc/Excel?
- 75% на вопрос уходит учить основы и решает вопросы без излишней сложности.
- 25% на вопрос не уходят, я их продолжаю учить дальше, но решения вопросов удается достичь не всегда, и основная причина - недооценка затрат времени "на всё". Люди бросают учебу, не читают Питоньяка, не преодолевают сопротивления коллег/начальства - нет времени и сил. 

Мы все очень сильно недооцениваем штатный функционал Writer/Calc, потому что не знаем его. Макросы - это "приправа" к офисному пакету, а не его основной ингредиент.

Python к сожалению не может стать макроязыком LO #1, он скорее заставит забросить LO вообще, слишком широкие перспективы становятся открытыми после погружения в Python, его библиотеку Pandas и др. Это другой уровень.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

economist

Цитата: Ципихович Эндрю от  4 января 2024, 13:00
Цитата: economist от  4 января 2024, 12:20Да, Notepad++ можно настроить как IDE (c плагинами)
так это где его юзать можно будет в либре, или где?

Юзать можно что и где угодно, вопрос во времени настройки, и я про это сразу пишу: займет месяц.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

ost

Извините за оффтоп. Но зачем вам python-макросы в LO? Полагаю, что если нет четкого понимания зачем использовать Python-макросы в LO, то и начинать не стоит. Небольшой макрос проще написать на Starbasic. Писать более объемный код на Python во "взрослом" редакторе несравненно приятнее, чем на starbasic во встроенной в LO среде. У меня все чаще так и происходит.

Таким образом, установка LO - становится способом "занести" python.exe на компьютеры, администрируемые злыми админами. Библиотеки, которых не хватает в Питоне из поставки LO добавляю "вручную" (здесь на форуме описано как это сделать). Далее - чисто питоновский код, который на выходе "отдает" результаты в форматах, читаемых LO Calc (а это практически все, что можно вообразить). И да, теперь диалог с пользователем (если он нужен) протекает в консольном окне. =)