2013-09-13 3 views
1

Я пытаюсь создать макрос порядка отслеживания, который делает следующее после того как я выбрал конкретную ячейку:Копировать ячейки и вставить в веб-форму

  1. Открывает заказ отслеживания веб-страницы, например FedEx отслеживания отгрузки
  2. Вводит значение выбранной ячейки в моей таблице Excel в соответствующее поле поиска на веб-странице
  3. Переходов отправить

Я работаю в Excel 2010 прочь образец кода, который я нашел на другом форуме. Код выполняет все ИСКЛЮЧЕНИЕ, вставляя значение ячейки GIVEN. Я могу назначить числовое значение или определенное значение ячейки, но мне нужен универсальный макрос, который я могу использовать для любой данной ячейки.

Я попытался использовать некоторые основные функции копирования вставки с активной ячейкой. Мне удалось выбрать и скопировать активную ячейку, но не вставлять ее в поле поиска.

Вот код с идентифицированными разделами проблем.

Dim IE As Object 

Sub submitFeedback3() 

    Application.ScreenUpdating = False 

    Set IE = CreateObject("InternetExplorer.Application") 
    IE.Visible = True 
    IE.Navigate "TrackingWebsite" 

    Application.StatusBar = "Submitting" 
    ' Wait while IE loading... 
    While IE.Busy 
     DoEvents 
     ActiveCell.Select 
     Selection.Copy 
    Wend 
    ' ********************************************************************** 
    delay 1 
     IE.Document.getElementById("receipt").Click 
    delay 1 
     IE.Document.getElementById("receipt").Paste 
    delay 2 
     IE.Document.getElementById("submit").Click 
    '********************************************************************** 

End Sub 

Private Sub delay(seconds As Long) 
    Dim endTime As Date 
    endTime = DateAdd("s", seconds, Now()) 
    Do While Now() < endTime 
     DoEvents 
    Loop 
End Sub 

Когда я попробовал код копировать/вставить, я использовал следующие под DoEvents:

ActiveCell.Select 
Selection.Copy 
+0

О чем вы говорите? по крайней мере, в какой области разработки программного обеспечения это связано? что такое «ячейка»? что такое «представить»? – akonsu

+0

Программа Excel 2010. Тег submit ссылается на кнопку отправки на веб-сайте после вставки данных. – user2774606

+0

'IE.Document.getElementById (" appReceiptNum "). Value = ActiveCell.Value' –

ответ

0
IE.Document.getElementById("appReceiptNum").Click 
delay 1 
IE.Document.getElementById("appReceiptNum").Paste 

работает для меня, на другом месте, конечно.

Если это сработает и для вас, обязательно включите и нажмите галочку рядом с этим ответом!

+0

После того, как вы добавили URL-адрес своего ответа, я просмотрел HTML-код и нет элементов с id = "appReceiptNum". Есть два элемента с именем = "appReceiptNum", однако один из них имеет id = "получение". Попробуйте IE.Document.getElementById («получение»). Вставьте сначала, и если это не сработает, попробуйте мой старый ответ щелчком и задержкой, но с «получением» в качестве идентификатора. – JaneGoodall

+1

Спасибо, что обратились к этому вопросу. Я сделал переключатель, хотя идентификатор, похоже, не был проблемой. Например, независимо от appReceiptNum или получения, если я использую строку IE.Document.getElementById («что угодно»). Значение = 35, оно будет вводить 35. Таким образом, цель в любом случае - это то, что я хочу, но это не будет завершите функцию вставки. Я думаю, что, возможно, будучи настолько неопытным, я, вероятно, искал код для копирования. Я использую ActiveCell.Select и Selection.Copy. Каждый раз, когда я пытаюсь запустить код, он возвращает меня в строку .Paste как проблему. – user2774606

+0

FYI, Тим Уильямс выше имеет ответ, который работает. Все еще любопытно, почему функция пасты не работает, но мой макрос работает сейчас. Спасибо, что помогли пациенту! – user2774606

Смежные вопросы