Страницы: 1
RSS
Выбор элементов списка в HTML через VBA
 
 
Добрый день.
Есть задача, из списка на странице выбрать несколько значений списка.
Сейчас используется код, но он выбирает только 1 элемент списка:
Код
.document.getElementById("QueuesForReportsSelected").Value = 85

Были попытки сделать множественный выбор кодом:

Код
 With objIE.document.getElementsByTagName("select")(43)
    .Children(83).Selected = True
    .Children(56).Selected = True
    .Children(98).Selected = TrueEnd
 With

С данным кодом макрос не работает.
Подскажите пожалуйста, как можно решить эту задачу.
Изменено: mzaytsev - 19.04.2019 09:48:10
 
А Вы уверены, что этот 'Список' позволяет делать мультивыбор в принципе?
Согласие есть продукт при полном непротивлении сторон
 
Да, если выбирать не макросом, а вручную, то выбор нескольких элементов возможен
 
Файл-пример приложите. По куску кода сказать пока нечего
Согласие есть продукт при полном непротивлении сторон
 
Можно посмотреть в любом макросе, который начинается с "RequestReport..."
Изменено: mzaytsev - 19.04.2019 11:25:37
 
Может хотя бы кто-нибудь сможет подсказать, почему этот код не работает
Код
 With .Document.getElementById("QueuesForReportsSelected")
    .Value(85).Selected = True
    .Value(84).Selected = True
    .Value(86).Selected = True
End With
Вот этот работает:
Код
With objIE.Document.getElementsByTagName("select")(0)    .Children(5).Selected = True
    .Children(6).Selected = True
    .Children(7).Selected = True
    .Children(8).Selected = True
    .Children(9).Selected = True
    .Children(10).Selected = True
    .Children(13).Selected = True
End With
Первый код должен выбирать по значению поле value, второй код выбирает порядковый номер элемента списка, это не совсем подходит для решения задачи.
Изменено: mzaytsev - 19.04.2019 12:25:47
 
mzaytsev, файл то где?
 
Wild.Godlike,Пришлось удалить, т.к. кто-то в файле запускал макрос, который отправляет сообщение на рабочую рассылку.
Задачу, кстати, решил сам, оставлю код на случай, если кому пригодиться.
Код
objIE.Document.getElementsByTagName("select")(0).Value = "0"
For j = 0 To 17
a = objIE.Document.getElementsByTagName("select")(0).Children(j).Value
For i = a To a
Select Case i
Case Is = 86, 83, 85, 84
  With objIE.Document.getElementsByTagName("select")(0)
    .Children(j).Selected = True
  End With
End Select
Next
Next
Изменено: mzaytsev - 22.04.2019 15:25:38
Страницы: 1
Наверх