2014-02-14 2 views
0

Я создал двумерный массив строк. Я настроил цикл for, чтобы взять строку от пользователя и выполнить поиск в первом столбце массива. Я хочу использовать соответствующую строку из второго столбца массива для вызова метода. Однако я не могу понять, как использовать строку для вызова суб или метода класса в Outlook VBA. Какие-либо предложения?как вызвать метод со строкой в ​​vba для outlook

+0

Это помогло бы обновить свой вопрос с помощью существующего кода и некоторые примеры типов вызовов, которые вы хотите сделать , –

ответ

0

Вы можете использовать функцию вызова по имени, используя имя метода объектов во время выполнения. Простой пример ниже создает объект класса и массива, а затем вызывает методы, названные во вторых элементах массива.

В модуле класса:

Sub Procedure1() 

MsgBox "I'm procedure1" 

End Sub 


Sub Procedure2() 

MsgBox "I'm Procedure2" 

End Sub 


Sub Procedure3(ByVal sName As String) 

MsgBox "Procedure 3 here " & sName 

End Sub 

В стандартном модуле:

Sub Main() 

Dim myArray(1 To 2, 1 To 3) As String 
Dim oClass1 As Class1 

Set oClass1 = New Class1 
'oClass1.Procedure1 

myArray(1, 1) = "Procedure1" 
myArray(1, 2) = "Procedure2" 
myArray(1, 3) = "Procedure3" 

Call CallByName(oClass1, myArray(1, 1), VbMethod) 
Call CallByName(oClass1, myArray(1, 2), VbMethod) 
Call CallByName(oClass1, myArray(1, 3), VbMethod, "Graham") 
Call CallByName(oClass1, myArray(1, 3), VbMethod, "user3299464") 

End Sub 
Смежные вопросы