в этом сообщении как подключить надстройку, а у меня она подключена. По этому сообщению - при первой проверке, пишет - надстройка не найдена, а при добавлении, пишет - конфликт
я в ней создал еще модуль и в нем прописал процедуру. Если я ее вызову через кнопку в надстройке она будет работать(все открыто и загружено), но если я в открытой книге(любой) в модуле пишу процедуру, а в ней указываю процедуру из надстройки(разными способами) - она не запускается, просто через нее проходит.
Без задания в надстройке значений ImaKnigi, ImaLista и NomerJachejki этот макрос работать не будет, конечно. Каким кодом они задаются в надстройке? Когда Вы пишете что макрос не работает, что именно не работает? Выводится ли сообщение после Run о том, что макрос perexodKJachejke не найден?
ZVI написал: Без задания в надстройке значений ImaKnigi, ImaLista и NomerJachejki этот макрос работать не будет, конечно
эти переменные задаются в другом модуле как Public
если я набираю
Код
Application.Run "НазваниеМакроса"
он просто проходит по этой строке и дальше, а в процедуру(в надстройке) даже не заходит
когда я набирал
Код
Dim x1 As Excel.Application
Set xl = CreateObject("Excel.Application")
'xl.Run "C:\Users\mykomp\AppData\Roaming\Microsoft\AddIns\My-First-Ribbon-Add-in.xlam!Module2.perexodKJachejke"
xl.Run "perexodKJachejke"
писал - ошибка 1004,не могу выполнить, или его нет в текущей книге или макросы отключены
когда Вы это набирали - надстройка в созданное приложение не подгружалась, это факт. Зачем Вы вообще создаете новый экземпляр Excel? Какова цель сего действа? Предположу, что если записать этот бред чуть логичнее, то вполне может заработать:
Код
Dim x1 As Excel.Application
Set xl = CreateObject("Excel.Application")
xl.workbooks.open "C:\Users\mykomp\AppData\Roaming\Microsoft\AddIns\My-First-Ribbon-Add-in.xlam"
xl.Run "My-First-Ribbon-Add-in.xlam!perexodKJachejke"
при условии, что процедура perexodKJachejke расположена в стандартном модуле надстройки.
> Application.Run "НазваниеМакроса" Возможно, макрос "НазваниеМакроса" используется не только в надстройке, а находится еще где-то.
А когда Вы используете Set xl = CreateObject("Excel.Application") , то надстройки в автоматизированный таким образом экземпляр Excel автоматически не подгружаются, их нужно подключать дополнительным кодом
The_Prist написал: при условии, что процедура perexodKJachejke расположена в стандартном модуле надстройки
создал модуль в надстройке - эта книга/вставить/module и назвал Module2
после запуска пишет - не удалось найти, проверьте правильность имени и расположения(это происходит на строке - Workbooks.Open), но это стандартный путь и имя и путь и имя я копировал.
Sub perexodKJachejke()
'Workbooks(ImaKnigi).Sheets(ImaLista).Activate
'ActiveSheet.Range(NomerJachejki).Select
MsgBox "Запущен макрос надстройки: perexodKJachejke()"
End Sub
Сохраните надстройку по Ctrl-S и убедитесь, что она подключена в Excel.
В книге, из которой будет вызываться макрос надстройки, в модуле ЭтаКнига (ThisWorkbook) запишите такой код:
Код
Private Sub Workbook_Open()
Application.OnTime Now, Me.CodeName & ".Workbook_Open1"
End Sub
Private Sub Workbook_Open1()
Run "perexodKJachejke"
End Sub
И убедитесь, что все работает. Затем меняйте код макроса в надстройке как Вам нужно.