Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перебирание циклом объектов в Word - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Перебирание циклом объектов в Word
andj25 Дата: Вторник, 04.09.2018, 09:57 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Подскажите как объекты коллекций в word можно перебирать в цикле?
например в excel можно написать
[vba]
Код

Dim x
    For Each x In ActiveSheet.OLEObjects
        If TypeOf x.Object Is MSForms.ComboBox Then
            x.Object.Clear
[/vba]

как это сделать в word?


Сообщение отредактировал andj25 - Вторник, 04.09.2018, 11:43
 
Ответить
СообщениеПодскажите как объекты коллекций в word можно перебирать в цикле?
например в excel можно написать
[vba]
Код

Dim x
    For Each x In ActiveSheet.OLEObjects
        If TypeOf x.Object Is MSForms.ComboBox Then
            x.Object.Clear
[/vba]

как это сделать в word?

Автор - andj25
Дата добавления - 04.09.2018 в 09:57
andj25 Дата: Вторник, 04.09.2018, 10:42 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
сделал так
[vba]
Код
Dim x As Object
    For Each x In ThisDocument.Shapes
        If x.Name Like "ComboBox*" Then
            x.Clear
            x.Style = fmStyleDropDownList
            x.ListIndex = Null
[/vba]
не работает


Сообщение отредактировал andj25 - Вторник, 04.09.2018, 11:08
 
Ответить
Сообщениесделал так
[vba]
Код
Dim x As Object
    For Each x In ThisDocument.Shapes
        If x.Name Like "ComboBox*" Then
            x.Clear
            x.Style = fmStyleDropDownList
            x.ListIndex = Null
[/vba]
не работает

Автор - andj25
Дата добавления - 04.09.2018 в 10:42
andj25 Дата: Вторник, 04.09.2018, 11:41 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
прикрепляю файл, название изменил темы

не работает вот этот участок кода
[vba]
Код
'очистка списка перез заполнением
Dim x As Object
    For Each x In ActiveDocument.Shapes
        If x.Name Like "Combo*Box*" Then
        x.Clear
        x.ListIndex = Null
        End If
     Next
[/vba]
К сообщению приложен файл: 4208217.doc (92.5 Kb)


Сообщение отредактировал andj25 - Вторник, 04.09.2018, 12:50
 
Ответить
Сообщениеприкрепляю файл, название изменил темы

не работает вот этот участок кода
[vba]
Код
'очистка списка перез заполнением
Dim x As Object
    For Each x In ActiveDocument.Shapes
        If x.Name Like "Combo*Box*" Then
        x.Clear
        x.ListIndex = Null
        End If
     Next
[/vba]

Автор - andj25
Дата добавления - 04.09.2018 в 11:41
andj25 Дата: Вторник, 04.09.2018, 13:43 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
почему то x принимает значение "control 33"
и других нет
то есть список коллекций не заполняется и соответственно цикл не работает
 
Ответить
Сообщениепочему то x принимает значение "control 33"
и других нет
то есть список коллекций не заполняется и соответственно цикл не работает

Автор - andj25
Дата добавления - 04.09.2018 в 13:43
_Boroda_ Дата: Вторник, 04.09.2018, 13:49 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16745
Репутация: 6534 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
    For Each x In ActiveDocument.InlineShapes
        If x.OLEFormat.ClassType = "Forms.ComboBox.1" Then
            x.OLEFormat.Object.Clear
        End If
    Next x
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
    For Each x In ActiveDocument.InlineShapes
        If x.OLEFormat.ClassType = "Forms.ComboBox.1" Then
            x.OLEFormat.Object.Clear
        End If
    Next x
[/vba]

Автор - _Boroda_
Дата добавления - 04.09.2018 в 13:49
andj25 Дата: Вторник, 04.09.2018, 14:00 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, в вашем варианте у всех комбобоксов будет одно имя? Forms.ComboBox.1

это не принципиально, Ваш метод рабоатет
спасибо
 
Ответить
Сообщение_Boroda_, в вашем варианте у всех комбобоксов будет одно имя? Forms.ComboBox.1

это не принципиально, Ваш метод рабоатет
спасибо

Автор - andj25
Дата добавления - 04.09.2018 в 14:00
_Boroda_ Дата: Вторник, 04.09.2018, 14:14 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16745
Репутация: 6534 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Это не имя, это ClassType


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЭто не имя, это ClassType

Автор - _Boroda_
Дата добавления - 04.09.2018 в 14:14
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!