Как можно сделать, чтобы при запуске OpenOffice выполнялся

Автор ForumOOo (бот), 20 ноября 2012, 17:19

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

ForumOOo (бот)

Компонент: Basic
Версия продукта: 3.0
Сборка: OpenOffice.org 3.0.0
ОС: windows XP

Как можно сделать, чтобы при запуске OpenOffice выполнялся макрос?
Решение через Сервис/Настройки/События я знаю, но мне надо это настроить на сотне компьютеров, к
которым я не имею прямого доступа. То есть я могу прислать пользователю программу и попросить ее
выполнить (к примеру, это может быть файл odt).
Как можно программно привязать к событию "Запуск приложения" выполнение макроса? Сам макрос лежит
в библиотеке на компе пользователя.

--
Подпись: timur0
Эл. почта: timur0@nm.ru



МР

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


МР

#5
 Разобрался по хелпу - просто назначил макрос событию открытия данного файла, работает и в ОО  и в LO, в т.ч.,что особенно отрадно - в Portable версиях. В LO (4.3), правда, почему-то перед запуском макроса вручную требует разрешить использование Java. Разрешения не получает, но макрос запускает. Зачем тогда спрашивать?
На всякий случай - в более ранних версиях (начиная с ОО 3.3, допустим ) этот назначенный макрос будет запускаться?
А за ссылку спасибо, полезная.  

Hasim

Цитата: МР от 11 августа 2014, 20:37ссылка не открывается
Во, блин. Тут пожалеешь, что Инфра-Ресурс скопытился.
Фиг с ним, с самим Инфра-Ресурсом,  а форум жалко - там было много ценного.
Неужто ни у кого из старожилов не осталось копий сообщений с того форума?

Yakov


Hasim

Цитата: Yakov от 12 августа 2014, 06:29Воспользоваться веб-архивом
Это очень хорошо.
Еще бы понять, как найти сообщение по неоткрывающейся ссылке http://community.i-rs.ru/index.php/topic,19700.msg109353.html#msg109353 (Программно назначить макрос)???

МР

Цитата: МР от 11 августа 2014, 21:48На всякий случай - в более ранних версиях (начиная с ОО 3.3, допустим ) этот назначенный макрос будет запускаться?

Проверил, чтобы не инсталлировать старые версии, на OO 3.3 Portable от Инфра-Ресурс. Запускается.

МР

А не делал ли кто более универсальную привязку макроса к старту конкретного документа и под ОО (LO), и под MSO? Можно ли, например, в книге xls совместить модули на VBA и OpenBasic так, чтобы , в зависимости от того, под каким офисом открыт файл, не задавая лишних вопросов конечному пользователю (хорошо бы и при разработке, но это ладно), запускался соответствующий стартовый макрос. В этом, наверное, можно и самому разобраться, но изобретать велосипед не хочется

Hasim

Цитата: МР от  2 сентября 2014, 09:07но изобретать велосипед не хочется
А придется!
Когда изобретете, не забудьте дать покататься и другим (выложите на форум).

МР

#12
Попробовал. Велик не то чтобы уж совсем с квадратными колёсами вышел, но на "Орлёнка" не тянет. Все изменения в макросах, вносимые в Calc-е , при сохранении книги в формате xls теряются. Т.е., если  задаться целью распространять в одной книге макросы и для Excel, и для Calc, то приходится изворачиваться. Схема может быть примерно такой - макросы для Excel отлаживаем в Excel, макросы для Calc - в книге родного формата. После отладки переносим  код OO(LO) Basic ( например,через буфер)  в открытый в Excel проект VBA (книгу xls). Туда же добавляем стартовый макрос, который определяет, в какой программе - Excel или же Calc открыта книга и переходит на соответствующую ветвь. Пример во вложении. Работоспособность проверял на текущих версиях ОО/LO и OO 3.3 . В параметрах Загрузка/Сохранение-Свойства VBA должны стоять птицы.
Просьба, у кого есть возможность, проверить работоспособность на компе без установленного MSO. Некоторые сомнения остались, поскольку  как именно реализована совместимость с VBA,  мне неизвестно. В первоначальном варианте я пытался определить вид офиса через Application.Name, надеясь под ОО/LO выйти на обработку ошибки, чего не происходило - возвращалась строка "Microsoft Excel"