Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2015, 21:30   #11
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Открывает в новом окне. Как сделать так, чтобы нужное окно открывалось вместо окна, где есть кнопка "Send_FREE_message"?
Если кликаю в IE (а не в VBA), то открывает так, как надо
Jaroslav вне форума Ответить с цитированием
Старый 22.02.2015, 22:00   #12
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Открывает в новом окне. Как сделать так, чтобы нужное окно открывалось вместо окна, где есть кнопка "Send_FREE_message"?
Не могу помочь,надо быть на странице и посмотреть на скрипты, и все это проделать в своем браузере
Где -то так.
Для темной обработки сгодится
Правте по месту
Код:
Sub Send_FREE_message()
    Dim WebBrowser As Object
    Set WebBrowser = CreateObject("InternetExplorer.Application")
    WebBrowser.Visible = True
    WebBrowser.Navigate "https://www.natashaclub.com/profile.php?ID=1000770574"
    Do While Not (WebBrowser.ReadyState = 4)
        DoEvents
    Loop

    For Each he In WebBrowser.Document.GetElementById("UnderPhotoLinkDiv").GetElementsByTagName("a")
        WebBrowser.Navigate he.href
        Exit For
    Next
    Do While Not (WebBrowser.ReadyState = 4)
        DoEvents
    Loop

    Set he = WebBrowser.Document.body.all("text")

    he.SetAttribute "value", "Привет,как и просил,мне 70 лет"

    he.RaiseEvent ("onKeyDown")

    For Each he In WebBrowser.Document.GetElementsByTagName("submit")
        If he.Value = "Send" Then
            he.Click
            Exit For
        End If

    Next

End Sub
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 22.02.2015 в 22:02.
doober вне форума Ответить с цитированием
Старый 22.02.2015, 22:07   #13
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Спасибо, doober.
Вчера все было нормально, а сегодня Ваш код:

Код:
Set he = WebBrowser.Document.body.all("text")

    he.SetAttribute "value", "Привет,как и просил,мне 70 лет"

    he.RaiseEvent ("onKeyDown")
прописывается так в html-коде:
Код:
<textarea name="text" id="text" onkeydown="javascript: this.form.textcounter.value = this.form.text.value.length;" onkeyup="javascript: this.form.textcounter.value = this.form.text.value.length;" rows="12" cols="55" value=Привет,как и просил,мне 70 лет></textarea>
а должно быть так:
Код:
<textarea name="text" id="text" onkeydown="javascript: this.form.textcounter.value = this.form.text.value.length;" onkeyup="javascript: this.form.textcounter.value = this.form.text.value.length;" rows="12" cols="55">Привет,как и просил,мне 70 лет</textarea>
То есть после "55" вместо "value=Привет,как и просил,мне 70 лет>" должно быть ">Привет,как и просил,мне 70 лет".

Подскажите, пожалуйста, как правильно в таком случае исправить код на VBA

Последний раз редактировалось Jaroslav; 23.02.2015 в 21:18.
Jaroslav вне форума Ответить с цитированием
Старый 23.02.2015, 21:24   #14
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Вчера все было нормально, а сегодня Ваш код:

Код:
Set he = WebBrowser.Document.body.all("text")

    he.SetAttribute "value", "Привет,как и просил,мне 70 лет"

    he.RaiseEvent ("onKeyDown")
прописывается так в html-коде:

Код:
<textarea name="text" id="text" onkeydown="javascript: this.form.textcounter.value = this.form.text.value.length;" onkeyup="javascript: this.form.textcounter.value = this.form.text.value.length;" rows="12" cols="55" value=Привет,как и просил,мне 70 лет></textarea>
а должно быть так:

Код:
<textarea name="text" id="text" onkeydown="javascript: this.form.textcounter.value = this.form.text.value.length;" onkeyup="javascript: this.form.textcounter.value = this.form.text.value.length;" rows="12" cols="55">Привет,как и просил,мне 70 лет</textarea>
То есть после "55" вместо "value=Привет,как и просил,мне 70 лет>" должно быть ">Привет,как и просил,мне 70 лет".

Подскажите, пожалуйста, как правильно в таком случае исправить код на VBA
Jaroslav вне форума Ответить с цитированием
Старый 23.02.2015, 23:27   #15
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
he.innertext="Привет,как и просил,мне 70 лет"
use F1
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 24.02.2015, 17:20   #16
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Спасибо, doober
Jaroslav вне форума Ответить с цитированием
Старый 24.02.2015, 18:54   #17
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

doober, в вашем коде:
Код:
 Set he = WebBrowser.Document.body.all("text")

    he.SetAttribute "value", "Привет,как и просил,мне 70 лет"

    he.RaiseEvent ("onKeyDown")
For Each he In WebBrowser.Document.GetElementsByTagName("submit")
            If he.Value = "Send" Then
                he.Click
                Exit For
            End If
        Next
кнопка Send не нажимается.
Вариант:
Код:
For Each he In WebBrowser.Document.GetElementById("UnderPhotoLinkDiv").GetElementsByTagName("submit")
            If he.Value = "Send" Then
                he.Click
                Exit For
            End If
        Next
и вариант:
Код:
For Each he In WebBrowser.Document.GetElementById("UnderPhotoLinkDiv").GetElementsByTagName("submit")
            If he.Value = "Send" Then
                WebBrowser.Navigate he.href
                Exit For
            End If
        Next
не проходит.

Последний раз редактировалось Jaroslav; 24.02.2015 в 19:15.
Jaroslav вне форума Ответить с цитированием
Старый 24.02.2015, 19:21   #18
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Вот кусок html-кода:
Код:
<td align=right width=100%><input class=no type=submit value="Send"></td>
</table>
</td></tr>
</table>
<input type=hidden name=SEND_MESSAGE value=YES></form>
 
</td></table>
</div>
<!-- end box Составить и отправить новое сообщение -->
<p></p></div>
 
<!-- CONTENT (Составить и отправить новое сообщение) [END] -->
Jaroslav вне форума Ответить с цитированием
Старый 25.02.2015, 04:59   #19
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Акела промахнулся.
Код:
    For Each he In WebBrowser.Document.GetElementsByTagName("input")
        If he.Type = "submit" Then
            If he.Value = "Send" Then
                he.Click
                Exit For
            End If
        End If
    Next
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.02.2015, 08:55   #20
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Спасибо, теперь работает
Jaroslav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нажатие кнопки megostudent Общие вопросы Delphi 9 26.09.2011 11:11
While (нажатие кнопки) azhell Общие вопросы Delphi 1 09.08.2011 23:23
нажатие кнопки beygul Помощь студентам 2 30.01.2010 21:34
На нажатие кнопки access6472043 Microsoft Office Access 2 29.11.2009 15:08
нажатие кнопки xakkkkker Работа с сетью в Delphi 1 20.11.2008 01:08