Я следую этому руководству от RubberduckVBA и наткнулся на этот фрагмент кода, но понятия не имею, что он на самом деле делает:
With New MyTestableMacro
.Run dataServiceStub, wsServiceStub
End With
Я попытался найти "Новое ключевое слово в операторе With", а также несколько других вещей, но ничего не нашел об этом.
Это не код, который я видел за год работы с VBA...
Я также пытался создать класс с именем MyTestableMacro с помощью метода Run, который также не работал.
Чтобы было ясно, я хочу знать, что такое MyTestableMacro. Это класс, модуль, временный макрос? И находится ли внутри него метод/функция Run A?
Withхраниться самим блокомWith; объект создается с ключевым словомNew, его ссылка принадлежит блокуWith, и когда выполнение достигаетEnd With, объект уничтожается. Вы можете проверить это, поместив операторыDebug.Printв обработчикиClass_InitializeиClass_Terminateмодуля класса, например.Debug.Print "hello"вClass_Initialize, затемDebug.Print "goodbye"вClass_Terminateи затемDebug.Print "doing the work"в методеRun. 25.04.2018MyTestableMacroдолжен быть модулем класса, как вы выразились? 26.06.2018