Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Работа с InternetExplorer: получение выписки ЕГРН после заполнения поля на сайте, Запуск (отработка) событий на сайте
 
Игорь, Спасибо за наводку по поводу родительских элементов, буду пробовать.
Работа с InternetExplorer: получение выписки ЕГРН после заполнения поля на сайте, Запуск (отработка) событий на сайте
 
Игорь, Приветствую.
Спасибо, но этот вариант я ранее тоже пробовал, и он у меня не работает.
Работа с InternetExplorer: получение выписки ЕГРН после заполнения поля на сайте, Запуск (отработка) событий на сайте
 
Юрий М, Да, согласен. Но не могу тему изменить, не знаю как это сделать.
Задача макроса получение выписки ЕГРН. но сначала нужно заполнить поля на сайте, вот тут  затык и произошёл.
Работа с InternetExplorer: получение выписки ЕГРН после заполнения поля на сайте, Запуск (отработка) событий на сайте
 
Доброго времени суток, Товарищи.
Помогите разобраться, может у кого-то знания есть в этой области.
Код
#If Win64 Then
    Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
Sub Vipiska()
' подключено две библиотеки  microsoft internet controls и microsoft html object library
Dim IE As InternetExplorer
Dim PageHTML As HTMLDocument
Dim Sayt As String

Sayt = "https://rosreestr.gov.ru/wps/portal/p/cc_present/EGRN_3" '  ссылка на сайт

Set IE = New InternetExplorer ' открываем IE
IE.Visible = True ' Делаем IE видимым
IE.Navigate Sayt ' загружаем сайт

Sleep dwMilliseconds:=5000 ' На всякий жду 5 сек, чтобы уже точно все прогрузилось.

Do While IE.Busy = True ' Ещё раз проверяю что страница загружена полностью
Loop

Dim ColElements As Collection
Set ColElements = New Collection

Set PageHTML = IE.Document ' загоняем страницу в переменную

For Each FR In PageHTML.all ' цикл по всем элементам на странице
      If FR.className = "v-filterselect-input" Then ' "v-filterselect-input" - нашёл в коде HTML
         ColElements.Add FR ' Добавляем элемент в коллекцию
      End If
Next
' Выяснил через код HTML, что № элемента который я хочу изменить - это 4

ColElements(4).Value = "Российское юридическое лицо" ' изменяю значение
ColElements(4).Click ' на всякий кликую, для отработки события, но ничего не происходит

' откопал событие (я так надеюсь), которое должно возникать при Click и пытаюсь его запустить с помощью нижеуказанной процедуры, но всё равно ничего не происходит.

PageHTML.parentWindow.execScript "function jd(b){return function(){try{return kd(b,this,arguments)}catch(a){throw a}}}", "JScript"

End Sub
Если вышеуказанную процедуру выполнить ручками, то на сайте сработает событие и добавятся новые поля. Document как бы обновиться.
Перепробовал кучу разных вариантов и перемещал фокус и кликал на другие элементы. но всё безуспешно.

Вопрос как запустить события (скрипты) на странице?
Узнать ActiveControl.Name зная только имя UserForm, Получение имени активного контрола зная только имя UserForm
 
Цитата
RAN написал:
Ваша проблема решается примерно так
ОоООооо... Я вроде так пробовал, но у меня ничего не получилось. Видимо что-то я упускал.
Спасибо Вам огромное. )))
Узнать ActiveControl.Name зная только имя UserForm, Получение имени активного контрола зная только имя UserForm
 
Цитата
RAN написал:
Вообще-то, я показал не как пробовать, а почему не получается.У вас TempForm не форма.
сори, не так понял.
Узнать ActiveControl.Name зная только имя UserForm, Получение имени активного контрола зная только имя UserForm
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Может Вам классы нужны?  Работа с модулями классов Чтобы не вычислять каждый раз имя комбобокса и создать одну обработку на все?
Что-то вроде того.
Тогда буду смотреть в сторону классов.
Спасибо.
Узнать ActiveControl.Name зная только имя UserForm, Получение имени активного контрола зная только имя UserForm
 
Цитата
RAN написал:
Set frmTmp = UserForm1'frmTmp :  Object/UserForm1
я так тоже пробовал. не получается.
Узнать ActiveControl.Name зная только имя UserForm, Получение имени активного контрола зная только имя UserForm
 
Написать универсальную процедуру для фильтрации (отсеивания) данных в combobox по вводимому значению в этот же combobox.
Изменено: Sergoff - 19.12.2019 18:17:53
Узнать ActiveControl.Name зная только имя UserForm, Получение имени активного контрола зная только имя UserForm
 
Уважаемые Формумчане, доброго времени суток.
Прошу Вашей помощи, ибо Гуууугл не помогает.

Код
Public NameForm as string
Private Sub ComboBox1_Change()
    NameForm = me.name ‘Запоминаем имя формы
    Test  ‘ Запуск другой процедуры
End sub

Код
Sub Test ()
    For i2 = 1 To ThisWorkbook.VBProject.VBComponents.Count ‘ вычисляем номер нужной UserForm
       If ThisWorkbook.VBProject.VBComponents(i2).Name = NameForm Then
          Exit For
       End If
    Next

    Dim TempForm As Object   ' переменная для временной формы
    Dim NameActCont as string ‘ ' переменная для имени активного контрола

    Set TempForm = ThisWorkbook.VBProject.VBComponents(i2) ' Засовываю в переменную нужную UserForm
    NameActCont = TempForm.ActiveControl.Name ' Вот тут и происходит беда. 438 ошибка 
 End sub

По ходу переменная  TempForm не хранит в себе все методы и свойства переданной формы.

Вопрос, можно ли узнать имя активного контрола зная только имя userform?
Точка вместо запятой после печати из PrintPreview
 
webley, Благодарю! Всё работает!  
Точка вместо запятой после печати из PrintPreview
 
webley, а как данный код применить только для определенного диапазона (  range("A1:F20")  )?
Точка вместо запятой после печати из PrintPreview
 
Уважаемые Гуру excel-я!
ПереГуглил всё, что только можно, но ответа так и не нашёл.


Вообщем, если мы запускаем макрос с PrintPreview, а затем в этом предварительном просмотре нажимаем печать, то после этого при продолжении работы и вводе данных, при нажатии кнопки del (точка) с цифровой клавиатуры вместо запятой ставится точка, что очень неудобно. проверял на 2-ух машинах Office 2016, win7  и  одна win10, office 2016.
Через обычную печать (Ctrl+P) ничего не слетает, запятая как была, так она и осталась.
Способ решения данной проблемы я нашёл всего один - перезапуск excelя!  Может кто знает как решить проблему иными способами?
Заранее благодарен! ))  
Страницы: 1
Наверх