у меня есть дополнение, названное book1. в дополнении существует модуль, названный module1, который имеет sub, названный addin1
я хотел бы выполнить макрос addin1 от другой рабочей книги
я пытаюсь назвать этот макрос как это:
Call Addin1
но это не работает
и я попробовал:
Call book1.xlam.Module1.AddIn1
который не работает также
кто-либо знает, как выполнить макрос, который является в дополнении?
(Предполагается Office 2007) Вот пример:
1- Откройте новую рабочую книгу.
2- Добавьте макрос, содержащий код MsgBox("Add-In")
3- Сохраните как xlam файл.
4- Откройте новую рабочую книгу.
5- Нажмите кнопку Office -> Параметры Excel
6- Нажмите вкладку Add-Ins слева.
7- Внизу, рядом с выпадающим меню "Управление", выберите "Надстройки Excel" и нажмите кнопку Перейти.
8- Нажмите "Обзор" и перейдите к файлу xlam.
9- Убедитесь, что флажок рядом с вашим файлом установлен, и нажмите Ok.
10- Нажмите кнопку Office -> Параметры Excel.
11- Щелкните вкладку Настроить.
12- Выберите Макросы в "Choose Commands From Dropdown."
.
13- Дважды щелкните по вашей AddIn, и теперь на панели инструментов быстрого доступа появится кнопка.
14- Нажмите на кнопку, и теперь появится окно сообщения.
В рабочей книге вы пишете:
Sub test()
' from other excel file
Application.Run ("youraddin.xla!ShowForm")
End Sub
А в дополнении у вас
Public Sub ShowForm()
loginform.Show
End Sub
Я думаю, это то, что вы ищете :) Вам понадобятся одинарные кавычки и! в нужных местах может быть немного сложно.
run "'book1'!module1"