Я следующие два Sub, определенный в моем Слово Addin (.dotm), который я поставил в каталог StartUpПередача аргумента с Application.Run в слове VBA
Public Sub SayHi1()
MsgBox "Hi......."
End Sub
Public Sub SayHi2(ByVal n As String)
MsgBox "Hi " & n
End Sub
Тогда из нового документа, я могу называть 1-Sub без аргумента, как показано ниже:
Sub AppRun_AddIn_NoArg()
Application.Run "MyProject.Module1.SayHi1"
End Sub
Но когда я пытаюсь запустить 2-ой Sub с аргументом я получаю ошибку о том, «Объект не поддерживает это свойство или метод»
Sub AppRun_AddIn_WithArg()
Application.Run "MyProject.Module1.SayHi2", "Tejas"
End Sub
Сообщение об ошибке:
По какой-то причине он работает, если вы удаляете бит MyProject, но тогда, возможно, вы можете вызвать неправильный макрос. По-видимому, это имеет какое-то отношение к [«Если вы укажете имя документа, ваш код может запускать макросы только в документах, связанных с текущим контекстом, а не только с любым макросом в любом документе»] (http://msdn.microsoft.com/ ан-нас/библиотека/офис/ff838935.aspx). – GSerg
Есть ли причина, по которой вы не используете Call? –
@GSerg Yeah, Без имени проекта и имени модуля он работал. – Tejas