VBA - Копирование данных ячейки и вставка в отдельных вкладках IE
Я новичок в VBA.
У меня длинный список URL-адресов (около 200). Я хочу открыть веб-сайт для загрузки видео, вставить URL-адрес в ячейку и перейти к следующему, открывая его в новой вкладке (не в новом окне).
Вот что у меня так далеко:
Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Global Const SW_MAXIMIZE = 3
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Private Declare Sub Sleep Lib "kernel32" (ByVal lngMilliSeconds As Long)
Sub OpenDownloader()
Dim ie As Object
Dim x As Integer
Dim y As Integer
Dim url As String
Dim repeat As Integer
y = 0
repeat = InputBox("How many videos to download?")
Set ie = CreateObject("Internetexplorer.Application")
apiShowWindow ie.hwnd, SW_MAXIMIZE
Do While y < repeat
x = Cells(1, "C").Value
url = Cells(x, "A").Value
Cells(x, "A").Interior.Color = RGB(198, 224, 180)
Range("C1").Select
ActiveCell.FormulaR1C1 = ActiveCell.Value + 1
If y = 0 Then
With ie
.Visible = True
.Navigate "https://qdownloader.net/"
End With
Do
DoEvents
Loop Until ie.readystate = 4
ie.Document.GetElementsByName("video")(0).Value = url
Do
DoEvents
Loop Until ie.readystate = 4
ie.Document.GetElementById("downloadBtn").Click
Do
DoEvents
Loop Until ie.readystate = 4
Else
With ie
.Visible = True
.Navigate "https://qdownloader.net/", 2048&
End With
Do
DoEvents
Loop Until ie.readystate = 4
ie.Document.GetElementsByName("video")(0).Value = url
Do
DoEvents
Loop Until ie.readystate = 4
ie.Document.GetElementById("downloadBtn").Click
Do
DoEvents
Loop Until ie.readystate = 4
End If
y = y + 1
Loop
End Sub
Проблема в том, что, хотя он открывает каждый экземпляр после первого в новой вкладке, он только вставляет ссылку в поле в первой вкладке. Я искал, но я не могу найти способ это исправить. Я могу заставить это открываться и работать в нескольких окнах, но для простоты использования я бы предпочел, чтобы это открывалось во вкладках.
Любая помощь будет оценена. Спасибо.