1 (изменено: spets_proekt113, 2022-02-20 14:53:31)

Тема: AHK: открыть скриптом макрос (basic LibreOffice)?

Здравствуйте!

Есть ли возможность скриптом открывать макросы (basic LibreOffice)?

2

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

Команда 'Run'.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

__Михаил__, поэтому и был задан вопрос, что этой командой у меня не получилось запустить МАКРОС - я, уже, давным-давно этот вариант пробовал. Файл, где содержится макрос открывается, но макрос не запускается.
Возможно, что программа AutoHotkey и не может этого сделать?!

Run C:\Temp\test.ods Standard.Module1__ProgDlgNew.ProgDialogProba

Или я что-то не правильно делаю?

4 (изменено: __Михаил__, 2022-02-20 01:10:26)

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

Запуск идёт так: Exe программа через пробел путь к макросу. Никакие иные команды не подойдут.

Run Notepad.exe Test.txt
Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

5

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

__Михаил__, я так пробовал:

Run C:\Program Files\LibreOffice\program\scalc.exe C:\Temp\test.ods Standard.Module1__ProgDlgNew.ProgDialogProba

Где

C:\Program Files\LibreOffice\program\scalc.exe

и есть exe-программа, которая и запускает мой файл:

C:\Temp\test.ods

А в этом файле и находится мой макрос с именем ProgDialogProba, который написан на basic. Сам макрос лежит в библиотеке Standard, в модуле Module1__ProgDlgNew, естественно, внутри самого файла.

6

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

spets_proekt113 пишет:

Возможно, что программа AutoHotkey и не может этого сделать?!

spets_proekt113, я не имел опыта с LibreOffice, но, возможно, вы приведёте пример запуска макроса извне на другом языке?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

__Михаил__ и teadrinker, Благодарю вас за желание помочь мне.
Наверное, средствами AutoHotkey, все-таки, не получится открывать макрос LO.

Но на вашем сайте на странице "Пишем макросы для OpenOffice.org":
http://www.script-coding.com/OOo/OOo_HelloWorld.html
есть раздел "Запуск макросов программно" где приведен пример, который запускает макрос конкретного документа из командной строки:

soffice c:\temp\test.odt macro://./standard.module1.mymacro

Подставил свои названия, поменял расширение документа (у меня .ods - это компонент Calc (табличный процессор) из офисной программы LibreOffice) и макрос запустился.

8

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

Если из командной строки можно, значит, можно и с помощью Run.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

teadrinker пишет:

Если из командной строки можно, значит, можно и с помощью Run.

Да, вот так получилось:

Run C:\Program Files\LibreOffice\program\scalc.exe C:\Temp\test.ods macro://./Standard.Module1__ProgDlgNew.ProgDialogProba

Может быть, это где-то на "видном" место прописать, чтобы кому нужно быстрее нашли?

10

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

Я думаю, будет достаточно уточнить в заголовке, какой именно макрос, и будет легко найти через поиск.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

Подумалось, что это можно было бы добавить к примерам в справку к команде Run - если это возможно.
Но, по любому, Вам виднее как это лучше сделать. И делать ли это, вообще.

12

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

spets_proekt113 пишет:

добавить к примерам в справку к команде Run

Думаю, это избыточно. Вариантов разных командных строк множество, на всё примеры написать не получится. Чтобы изменить заголовок, отредактируйте первый пост с помощью кнопки «Изменить».

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK: открыть скриптом макрос (basic LibreOffice)?

Хорошо.
Спасибо за помощь.