user1242345, есть два способа сделать это.
Путь 1
Вы можете запустить URL-адрес в WebBrowser1 из VBA и затем напрямую записать в текстовое полеиспользуя .GetElementByID
Например
WebBrowser1.Document.getElementById("TextBoxName").Value = "Whatever"
Путь 2
Использовать XMLHTTP.Это намного быстрее, чем Путь 1
Если вы можете поделиться ссылкой, то я могу дать вам точный ответ?
FOLLOWUP
Спасибо за ваш ответ .. Я не могу дать вам ссылку, так как это страница, защищенная паролем.Однако вот HTML для формы, в которую я хочу вставить, если это поможет.pastebin.com/cWrwfKBf - user1242345 17 минут назад
Оба, я хотел бы скопировать из ячейки A1 и вставить в Feed_name, затем вернуться в Excel и скопировать из B1 и вставить в feed_url.Спасибо за вашу помощь, я действительно ценю это.- user1242345 5 минут назад
Я скопировал исходный код в текстовый файл и сохранил его как Test.Htm на своем рабочем столе.Пожалуйста, посмотрите пример ниже о том, как писать в первое текстовое поле.Я уверен, что вы можете повторить это для следующего;)
Чтобы запустить это, создайте пользовательскую форму в Excel и поместите элемент управления WebBrowser1 и элемент управления CommandButton в форму.См. Снимок.
SNAPSHOT 1
![enter image description here](https://i.stack.imgur.com/mYNZX.jpg)
Вставьте этот код в область кода пользовательской формы.
Private Sub CommandButton1_Click()
Dim url As String
url = "C:\Documents and Settings\Siddharth Rout\Desktop\Test.Htm"
WebBrowser1.Navigate url
WaitForWBReady
WebBrowser1.Document.getElementById("feed-create-feed_name").Value = "Whatever"
End Sub
Private Sub Wait(ByVal nSec As Long)
nSec = nSec + Timer
While Timer < nSec
DoEvents
Wend
End Sub
Private Sub WaitForWBReady()
Wait 1
While WebBrowser1.ReadyState <> 4
Wait 3
Wend
End Sub
Когда вы нажимаете на кнопку, текст автоматически заполняется, как показано ниже.
SNAPSHOT 2
![enter image description here](https://i.stack.imgur.com/LsozM.jpg)
MOREFOLLOWUP
К сожалению, я впервые использую VB, поэтому мне не удается создать этот цикл .. :( - user1242345 2 минуты
Обычно я не выкладываю решение в таком сценарии, но советую Asker изучить VBA, но так как я уже опубликовал большой кусок, поэтому я закончу его длявас. Но после любых последующих вопросов от вас должен следовать код, который вы написали сами :)
UNTESTED
Попробуйте это
Private Declare PtrSafe Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim url As String
Dim lastRow As Long
url = "C:\Documents and Settings\Siddharth Rout\Desktop\Test.Htm"
'~~> This is the sheet where the values has to be picked up from
Set ws = Sheets("Sheet1")
With ws
'~~> Get the Last Row in Sheet1
lastRow = .Range("A" & .Rows.Count).End(xlUp).Row
'~~> Loop through the range
For i = 1 To lastRow
'~~> Navigate to the URL
WebBrowser1.Navigate url
WaitForWBReady
'~~> Input Values
WebBrowser1.Document.getElementById("feed-create-feed_name").Value = .Range("A" & i).Value
WebBrowser1.Document.getElementById("feed-create-feed_url").Value = .Range("B" & i).Value
'~~> Click Button
WebBrowser1.Document.getElementsByTagname("Input")(3).Click
WaitForWBReady
Next
End With
End Sub
Private Sub Wait(ByVal nSec As Long)
nSec = nSec + Timer
While Timer < nSec
DoEvents
Sleep 100
Wend
End Sub
Private Sub WaitForWBReady()
Wait 1
While WebBrowser1.ReadyState <> 4
Wait 3
Wend
End Sub
HTH
Sid