powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Одинаковые названия макросов в двух файлах. Как их отучить?
15 сообщений из 15, страница 1 из 1
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33638902
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим открыты два Excelевских файла с разными именами, но в этих файлах присутствуют макросы с одинаковыми названиями. Вопрос: как сделать чтобы макрос запущенный из второго файла не выполнял макрос из первого файла (макросы одинаково называются), а то они перехватываются как то....
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33639311
1. Самое очевидное решение - измени названия.
2. Используй метод Run, например:

Код: plaintext
    Application.Run "Книга1.xls!ТвойМакрос"
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33639364
Ckexfqyst cbvdjks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Главное не запутаться самому какой макрос запускать на выполнение. Раз у тебя книги называются по разному, то Excel различает эти макросы как разные, по месту сохранения.
Макрос: Книга1.xls! сумма
Макрос: Книга2.xls! сумма .
Макрос: PERSONAL.xls сумма
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33640134
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да дело в том, что файлы создаются из шафлона и названия файлов могут быть разными, т.е. пользователи сами называют файлы как хотят и в этом случае не удается отследить названия файлов. Или я что то не понял?
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33642030
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Application.Run Thisworkbook.Name & "!" & "Module1.Macro1"
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33642715
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где эту запись нужно вставить?
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33642809
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня при открытии файла формируется дополнительная панель.

Private Sub Workbook_Open()
Dim i As Integer
Dim ex As Boolean
ex = False
For i = 1 To Application.CommandBars.Count
If Application.CommandBars.Item(i).Name = "Sp" Then
ex = True
End If
Next

If ex = False Then
Application.CommandBars.Add(Name:="Sp").Visible = True
Application.CommandBars("Sp").Position = msoBarTop
Application.CommandBars("Sp").Protection = msoBarNoCustomize

Application.CommandBars("Sp").Controls.Add Type:= _
msoControlButton, ID:=2950, Before:=1
With Application.CommandBars("Sp").Controls.Item(1)
.Style = msoButtonIconAndCaption
.Caption = "Показать страницы цветом"
.TooltipText = "Показывает четные и нечетные страницы разными цветами"
.FaceId = 1548
.OnAction = ThisWorkbook.Name & "!" & "Module1.color"
End With

End If
End Sub

в этот макрос добавляю OnAction = ThisWorkbook.Name & "!" & "Module1.color" и сохраняю файл как шаблон (*.xlt). Проверяю запустив файл *.xlt- всё работает нормально. Когда создаю новый файл с помощью шаблона, то пишет ошибку "Не найден макрос 'Спецмфмкация1!Module1.color'".
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33642819
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое сообщение появляется когда в названии файла есть пробел. Как с этим бороться програмно?
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33642870
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй так
Код: plaintext
1.
2.
3.
Dim myName As String
myName  = ThisWorkbook.Name & "!" & "Module1.color"

.OnAction = myName 
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33642920
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не помогает, выдает то же самое сообщение....
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33643094
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeySТакое сообщение появляется когда в названии файла есть пробел. Как с этим бороться програмно?
Ты уверен?


Смотря на твой код мне кажется что первая чать проверяет есть ли панель "Sp"
и если есть, то ни чего не делается, а следовательно у первой кнопки этой панели присвоин макрос старый
думаю тебе надо так
Код: plaintext
1.
2.
3.
4.
5.
6.
For i =  1  To Application.CommandBars.Count
     If Application.CommandBars.Item(i).Name = "Sp" Then
          Application.CommandBars("Sp").Controls.Item( 1 ).OnAction = _
               ThisWorkbook.Name & "!" & "Module1.color"
          Exit Sub
     End If
Next

хотя смысла в том, что ты держишь процедуру во всех книгах, нет
панель для EXCEL одна есть смысл держать панель в ".xla" (надстройке)
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33643214
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял причину, когда запускаешь файл-шаблон Спецификация.xlt из проводника, то создаётся новый файл с именем Спецификация1 и пока его не сохранишь где то на диске, так и будет ругаться, что "Не найден макрос 'Спецификация1!Module1.color'". Как можно с этим бороться программно? может быть его сразу программно сохранять на диске, но вот как это тогда сделать?
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33644537
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уйди от работы с тулбарами.
Проще всего создавать кнопку прямо на листе, тогда у тебя будет для каждой новой книги новая кнопка и ссылаться она по умолчанию будет на книгу которой принадлежит.

Если так хочется работать с тулбарами, то есть два варианта:
1) Cделать xla в который сложить все нужные макросы и привязать свой тулбар к этому xla.
2) Из каждой новой книги создавать новый тулбар завязаный на эту книгу и при переключении между книгами прятать или показывать эти собственные тулбары.
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33645860
SergeyS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как сделать что бы из каждой новой книги создавать новый тулбар, завязаный на эту книгу и при переключении между книгами прятать или показывать эти собственные тулбары.
...
Рейтинг: 0 / 0
Одинаковые названия макросов в двух файлах. Как их отучить?
    #33647300
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeySА как сделать что бы из каждой новой книги создавать новый тулбар, завязаный на эту книгу и при переключении между книгами прятать или показывать эти собственные тулбары.В Workbook_Open создаешь тулбар со случайным именем. В Workbook_Activate и Workbook_Deactivate соотвественно показываешь или прячешь этот тулбар. А из Workbook_BeforeClose убиваешь.
Ну и конечно все кнопки в этом тулбаре будут ссылаться на макросы из конкретной книги.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Одинаковые названия макросов в двух файлах. Как их отучить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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