Использование VBA в Excel:
У меня есть функция, в которой я хочу получить доступ к свойствам класса, используя переменные для имен свойств.Мне удалось использовать переменную с CallByName, чтобы MsgBox вернул мне значение свойства:
MsgBox CallByName(oThisInvoice, DataType, VbGet)
Где oThisInvoice - это объект класса, а DataType - это переменная, которая содержит имя свойства, к которому я хочу получить доступ.Этот оператор работает и переписывает:
MsgBox oThisInvoice.InvoiceDate
Однако использование того же метода не работает, когда присваивается значение тому же свойству:
CallByName(oThisInvoice, DataType, VbGet) = 5
не работаетЯ получаю сообщение об ошибке «Ошибка выполнения 424: требуется объект».Использование VbLet и VbSet также не работало, выдавая «Ошибка времени выполнения 446: объект не поддерживает именованные аргументы».
Это переписывает следующее:
oThisInvoice.InvoiceDate = 5
который работает.
Кто-нибудь знает, что я могу использовать для присвоения значения свойству класса в VBA при использовании переменной для ссылки на имя свойства?