powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / запись события макросом
11 сообщений из 11, страница 1 из 1
запись события макросом
    #34905292
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте еще раз!
Плиз, подскажите кто знает..

Проблема: "Необходимо написать макрос, который бы записывал функции в (Mycrosoft excel Object) ThisWorkbook.
более подробно: есть несколько excel-файлов(рабочих книг). в 5 из необходимо записать события на открытие и на активацию/деактивацию листов (записывается это в ThisWortbook). Мне нужно чтобы при запуске макроса само все прописывалось в thisWorkbookактивной книги(не в module)(надеюсь понятно объяснила..). Возможно ли вообще написание подобного макроса? очень благодарна буду за помощь!"
...
Рейтинг: 0 / 0
запись события макросом
    #34905411
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. при открытии книги надо генерить код на открытие ?
...
Рейтинг: 0 / 0
запись события макросом
    #34906338
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, открыть книгу, запустить макрос, который и нагенерит событие на открытие :) (а также на активацию/деактивацию листов)
...
Рейтинг: 0 / 0
запись события макросом
    #34906347
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и в чем вопрос ? Запишите макрос рекордером и в workbook_open его.
...
Рейтинг: 0 / 0
запись события макросом
    #34906378
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ммм, а как его туда поместить? (вручную не нужно)
наверное дику туплю.. извиняюсь :(

(просто все макросы ведь в modules записываются..)
...
Рейтинг: 0 / 0
запись события макросом
    #34906384
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NastyaZммм, а как его туда поместить? (вручную не нужно)
(просто все макросы ведь в modules записываются..)
Только в ручную и поместить. Скопировать из модуля в Workbook_Open() . Можно попытаться автоматизировать этот процесс, но в данном случае это лишняя головная боль.
...
Рейтинг: 0 / 0
запись события макросом
    #34906425
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо огромное за ответы!, но к сожелению ручками очень нежелательно...

может можно таким путем? : если поместить файл в Application.StartupPath, то все модули становятся доступными для любой открытой книги. может можно сделать так, чтобы и события стали доступными? что-то не становятся :( (privat исправила на Public, ActiveWorkbook использую.)
...
Рейтинг: 0 / 0
запись события макросом
    #34906662
LETME
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял, примерно такую же тему затеивал как-то...
Мне нужно было копировать не код, а форму - можно по аналогии выкружить решение текущей задачи: копирование в другую книгу
...
Рейтинг: 0 / 0
запись события макросом
    #34909158
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Сделать шаблон файла с уже необходимыми макросами в ThisWorkbook, и потом на основании этого шаблона: лепить новые файлы, либо в этот шаблон переносить листы из имеющихся книг...(тут сами разовьёте если понравится)

2) Использовать события, которые работают не на уровне одной книги, а на уровне приложения, тогда можно хранить эти процедуры в отдельном файле. Этот варинат смотри в примере.
...
Рейтинг: 0 / 0
запись события макросом
    #34909289
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо!!!
1 вариант не подойдет, т.к. уже имеются готовые книги и в них нужно прописать события.. :(
Сейчас буду изучать 2-й вариант.

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


' write replaced file
Open fil For Output As 1
For i2 = 1 To UBound(Text)
For i3 = 0 To i1
Text(i2) = VBA.Replace(Text(i2), params(i3, 0), params(i3, 1))
Next
Print #1, Text(i2)
Next
Close #1

Text(*) - строки текста
params (*,0) - параметры
params (*, 1) - соответствующие значения.
...
Рейтинг: 0 / 0
запись события макросом
    #34909800
NastyaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deggasad, огромное спасибо!!!

кажется, сделала что нужно с помощью событий, которые работают не на уровне одной книги, а на уровне приложения. (все модули и приложения поместила в книгу в Application.StartupPath).

без вас бы гораздо дольше искала как сделать..
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / запись события макросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]