Пропали макросы ??!

Автор OOKapitan, 17 ноября 2017, 14:05

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

economist

#30
Я бы записывал "макрорекордером" макросы в конкретный ODS-файл, а затем программно копировал бы их в пользовательскую библиотеку макросов. В мире Excel так и делается с т.н. "надстройками" XLA/XLAM - это обычные книги Excel, макросы которых доступны всем, считываются они только в момент открытия MS Excel. Это позволяет мне удаленно "обновить" файл библиотеки, которым сейчас пользуется одновременно около 40 человек, в любую секунду, банальной перезаписью её "поверх". Пользователю нужно лишь перезапустить Excel.

Макрорекордер на то и нужен, чтобы видеть/изучать взаимодействие объектной модели Excel/Calc (и Диспетчера) в Бейсиком, поэтому запись макросов должна делаться в ODS. Плюс в ODS есть куча не-программных возможностей (формулы, функции, контролы, псевдо-диалоговый интерфейс, который можно просто нарисовать в ячейках), - всё это позволяет уменьшить объем кода макросов, на мой взгляд, раза в два. А главное - можно увлечь/заставить себе помогать целую кучу офисного народа, который умеет работать в Excel, но шарахется "ладана" Бэйсика.        
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

OOKapitan

Цитата: economist от 21 ноября 2017, 06:11А главное
Большое спасибо. И всё же почему исчезли мои макросы? Может кто-то знает ответ?

economist

#32
Вангую повторно: вы их записывали макрорекордером, но когда остановили запись - добавили их (ошибочно, по запарке) - в файл XLS. Они (макросы) были видны, прекрасно записались и даже работали (т.е. запускались вручную) - и вели себя как живые, но ДО первого закрытия XLS-файла. После повторного открытия - вы их не нашли. потому что Calc их удаляет из файла. Намеренно. И другого поведения по отношению к записанным макросам - в Calc просто нет. Не вы один попались на эту удочку, смиритесь и сделайте все заново.

Про "исчезающий" профиль пользователя я не верю, про параноидальный антивирус, жрущий макросы аки зверь - тоже. Остаётся спешка.   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

OOKapitan

Цитата: economist от 21 ноября 2017, 11:08но ДО первого закрытия XLS-файла
Я все файлы закрывал и не раз, и макросы оставались и работали до вчерашнего дня. Сейчас я тоже всё закрыл, открыл - макрос на месте.

economist

Вот чтобы не грешить на профиль, домен и админов - я использую только portable-версии OpenOffice|LibreOffice, и все остальные 250 чел. - тоже. Ничего не пропадает.    
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

OOKapitan

#35
      Сегодня случился нонсенс.
     Опять пропали макросы. Иду в папку basic смотреть файл Module1.xba - а там и модуль 2 есть и мой Бабай. Но из документа OpenOfficeOrg Calc виден только пустой модуль1  :o .  Что за дела? Как сделать Бабая видимым? Помогите, пожалуйста.

bigor

Если сохранял как выше советовали, то просто вставь код в модуль сохрани.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

OOKapitan

Цитата: Bigor от 30 ноября 2017, 20:15то просто вставь код в модуль сохрани.
Так он итак есть в файле Module2.xba в папке basic. Но из OpenOfficeOrg Calc его не видно, более того не видно и самого module2. Виден только Module1. Или всё-равно вставить его в этот модуль?

rami

Если модуль есть, но не виден из офиса, то проблема с путями. Указанный вами модуль с "бабаем" находится не там где офис ищет модули.

bigor

Модуль же не только тексты макросов содержит, там в заголовке служебная информация, может при неудачном закрытии, там чего нарушилось. Так же модули прописаны в script.xlb, если там не прописан то openoffice не видит модуль.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

OOKapitan

    Сейчас выявился новый фортель: вчера в Module1.xba было два макроса. Сегодня проверяю - есть только ОДИН. Как так? Почему один исчез и каким образом второму удалось "выжить"?