Перебирание циклом объектов в 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?
Подскажите как объекты коллекций в 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
Сообщение отредактировал 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] не работает
сделал так [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
Сообщение отредактировал 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]
прикрепляю файл, название изменил темы не работает вот этот участок кода [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
Сообщение отредактировал 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
Ответить
Сообщение почему то x принимает значение "control 33" и других нет то есть список коллекций не заполняется и соответственно цикл не работает Автор - andj25 Дата добавления - 04.09.2018 в 13:43
_Boroda_
Дата: Вторник, 04.09.2018, 13:49 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация:
6503
±
Замечаний:
±
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]
Так нужно? [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_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: 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
Ответить
Сообщение _Boroda_ , в вашем варианте у всех комбобоксов будет одно имя? Forms.ComboBox.1 это не принципиально, Ваш метод рабоатет спасибоАвтор - andj25 Дата добавления - 04.09.2018 в 14:00
_Boroda_
Дата: Вторник, 04.09.2018, 14:14 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация:
6503
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Это не имя, это ClassType
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Это не имя, это ClassType Автор - _Boroda_ Дата добавления - 04.09.2018 в 14:14