Как поместить в Clipboard выделенный текст?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Мышш
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.06.2010 (Пт) 14:16

Как поместить в Clipboard выделенный текст?

Сообщение Мышш » 26.06.2010 (Сб) 16:49

Есть IE6. В поля для заполнения в режиме эмуляции перемещений/кликов через использование буфера обмена вводится текст. Каждое введённое слово (или фразу) необходимо проверить - а действительно ли она введена, или просто мышь попрыгала по полям в режиме эмуляции (например, при неполной загрузке IE), а поля ввода остались пустыми? Для этого хочу выделить двойным кликом содержание поля ввода, поместить его в буфер обмена, и сравнить с исходным вводимым значением.
Вопрос такой: как поместить выделенное двойным кликом содержание поля ввода IE6 в буфер обмена? Возможно, вопрос простой, но не соображу никак.
Эмуляция мышы/клавиатуры используется по причине того, что не могу получить программый доступ к окну IE6 - при малейшей подобной попытке оно просто перезагружается (обновляется).
Доступ к окну IE6 осуществляется на законных основаниях - просто хочу автоматизировать офисный монотонный труд в такую (+36) жару. Вручную-то я вводить могу, и путём эмуляции - тоже, просто не могу проверить факт введения.
Пожалуйста, подскажите - а то уже мышь до кнопочек стёрлась от усердия!)))

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Как поместить в Clipboard выделенный текст?

Сообщение FireFenix » 26.06.2010 (Сб) 17:26

Бредовее не слышал! :D

Прощен сделать web клиент и работать с формой как полями html формочки и при отсылки генерить http запрос серверу
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Мышш
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.06.2010 (Пт) 14:16

Re: Как поместить в Clipboard выделенный текст?

Сообщение Мышш » 28.06.2010 (Пн) 0:08

Привожу отрывок кода, которым первоначатьно делалась попытка зайти на сайт:
Код: Выделить всё
Dim ShellWindows As New ShellWindows
Dim WithEvents WebBrowser As WebBrowser
Dim WithEvents Document As HTMLDocument
Private Sub Form_Load()
    For Each ShellWindow In ShellWindows
        If TypeOf ShellWindow.Document Is HTMLDocument Then
            Set Document = ShellWindow.Document
            Document.url = "http:\\адрес сайта.ru"

При исполнении последней строки страница начинает перезагружаться.
FireFenix, если не затруднит - кусочек кода (ну, как вы видите правильным), пожалуйста. И вопрос по помещению выделенного текста в буфер обмена остается актуальным.
Да, еще. Можно ли горячими клавишами развернуть окно IE во весь экран? Если да - то какими?
Спасибо.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как поместить в Clipboard выделенный текст?

Сообщение alibek » 28.06.2010 (Пн) 8:25

Открой Object Browser (F2), найди там HTMLDocument и посмотри список его свойств и методов.
Lasciate ogni speranza, voi ch'entrate.

Мышш
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.06.2010 (Пт) 14:16

Re: Как поместить в Clipboard выделенный текст?

Сообщение Мышш » 28.06.2010 (Пн) 22:49

Страница Explorer'a начинает перезагружаться, стоит программе дойти до
Код: Выделить всё
Set Document = ShellWindow.Document
Document.url = "http:\\адрес сайта.ru"

(поэтому код, следующий далее, я не привела).
Для доступа к удалённому серверу и загрузки на него данных в Internet Explorer был встроен какоё-то сертификат безопасности. Вероятно, он-то и отслеживает попытку пользователя ввести данные не ручками, а программно.
Уважвемый alibek, про F2 я знаю, и смотрела свойства HTMLDocument, но не могу сообразить, какое из них предотвратит перезагрузку страницы при программном вводе значений в текстовые поля. Надо набивать месячный отчет, времени практически не осталось, если знаете, как предотвратить перезагрузку страницы - подскажите, пожалуйста!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как поместить в Clipboard выделенный текст?

Сообщение Хакер » 28.06.2010 (Пн) 22:56

Вот всё у вас неправильно, даже косые чёрточки — левые.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Как поместить в Clipboard выделенный текст?

Сообщение alibek » 28.06.2010 (Пн) 22:59

Чтобы страница не перегружалась, не надо менять url. Надо получить ссылку на уже загруженный документ. И спокойно перебирать поля.
Код: Выделить всё
      Set ie = CreateObject("InternetExplorer.Application")
      ie.Navigate urlPage
      Do Until ie.ReadyState = 4
        WScript.Sleep 10
      Loop
      Set dom = ie.Document
...
      For Each ... In dom....
      Next

Но насколько мне помнится, некоторые поля нельзя заполнить программно (через DOM-модель), поэтому лучше обрабатывать данные напрямую, через (например) WinHttp, отправляя заполненные формы GET или POST запросом.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 91

    TopList