|
||||||||
|
Уменьшение числа операций, связанных активизацией и выделением объектовВ большинстве случаев программа может оперировать с объектами без их активизации. Если Вы учились программировать на Visual Basic по коду, который дает запись макросов, то, вероятно, привыкли перед операцией над объектом активизировать или выделять его. Но средство записи макросов делает так потому, что следует Вашим действиям в пользовательском интерфейсе, ? там Вы активизируете окна и выделяете их содержимое. Но обычно можно написать куда более простой и быстрый код, делающий все то же без активизации или выделения каждого объекта. Например, при заполнении ячеек С1:С20 на листе Sheet5 случайными числами (методом AutoFill) средство записи макросов генерирует такой код:
Вызовы метода Select не обязательны. Оператор With позволяет написать код, работающий непосредственно с нужным листом и диапазоном:
Имейте в виду: средство записи макросов точно фиксирует все, что Вы делаете через пользовательский интерфейс, и ничего не оптимизирует. В записанном макросе вызывается метод AutoFill ? именно так пользователи вводят случайные числа. Но это не самый эффективный способ заполнения диапазона случайными числами. Вы можете сделать то же самое одной инструкцией, как в следующем примере:
Некоторые операции, выполняемые через пользовательский интерфейс (вроде перемещения мышью формулы из отдельной ячейки в диапазон), записываются как вызовы методов (например, AutoFill). Эти вызовы можно исключить при оптимизации, так как Visual Basic позволяет реализовать те же операции другими, более эффективными способами.
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |