|
||||||||
|
For Each ...NextЦикл For Each элемент In группаоператоры Next элемент Встретив оператор For Each...Next, Visual Basic: 1. Считает элемент именем первого элемента в группе (если группа не пуста).2. Выполняет операторы. 3. Проверяет, не последний ли это элемент в группе, и, если да, завершает цикл. 4. Подставляет вместо элемента имя следующего элемента в группе .5. Повторяет операции, описанные в пп. 2-4. В следующем примере для Microsoft Excel мы проверяем каждую ячейку текущего региона для ячейки А1 в таблице с именем ?Sheet3? и закрашиваем содержимое ячейки красным цветом, если ее значение меньше -1. For Each с In Worksheets("Sheet3").Range("A1").CurrentRegion.Cells Next c А в примере для Word просматриваем все исправления в выделенном тексте и поочередно принимаем их: For Each myRev In Selection.Range.Revisions Указывать имя переменной после Next (в примере для Microsoft Excel и myRev в примере для Word) не обязательно, но это облегчает восприятие текста программы, особенно при наличии нескольких вложенных циклов For Each.Внимание: Если Вы хотите удалить все объекты из набора, используйте цикл For...Next, а не For Each...Next. Скажем, чтобы удалить все слайды из текущей презентации PowerPoint: Set alISlides = ActivePresentation.Slides Но код, приведенный ниже, работать не будет ? он удалит каждый второй слайд в презентации: For Each s In ActivePresentation.Slides Применяя оператор For Each...Next, помните о следующих ограничениях: в случае наборов элементом может быть переменная типа Variant, Object или конкретного объектного типа из библиотеки объектов, а для массивов ? только Variant; оператор For Each...Next не годится для массивов пользовательских типов, так как в переменную типа Variant нельзя записать значение пользовательского типа.
Текст пособия подготовлен на основе материалов книги Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл. c Оригинальное издание на английском языке, Microsoft Corporation, 1997 c Русский перевод, Microsoft Corporation, 1997 |