Veri çeken 2 makroyu birleştirmek için yardım

Katılım
22 Mayıs 2023
Mesajlar
1
Excel Vers. ve Dili
2016 Tr
Selamlar herkese,
Yeni sitemde küçük çapta e-ticaret sitesi işletiyorum ve Excel' de ve makro bilgim yok. Bayisi olduğum B2B sitesinden ürün stoklarını haftalık güncellemek için ihtiyacım olan 2 makroyu netten temin ettim. 1.si İE browser açarak siteye login yapıyor 2. si stok çekiyor. Bu ikisini tek makroda birleştirmek gerekli, önce login yapacak sonra ürün id sinden stok verisini ilgili sütuna getirecek. Makroları bu şekilde peşpeşe ekleyip çalıştırdığımda olmuyor. Makro yapısı hakkında bilginizi rica ediyorum. Teşekkürler

Kod:
Sub main()

   Dim ie As Object
  
   Set ie = CreateObject("InternetExplorer.Application")
   ie.navigate "https://www.--------.com.tr/login"

   'wait until the page loads
   Do While ie.readyState <> 4
      DoEvents
   Loop
   ie.Visible = True
  
   With ie.document
  
      'clientcode:
      'input name="clientcode" class="form-group" type="text"
      .getElementById("clientcode").Value = "******"
  
      'username:
       'input name="username" class="form-group" type="username"
       .getElementById("username").Value = "******"

      
       'Password:
       'input name="password" class="form-group" type="password"
       .getElementById("password").Value = "*******"
      
       '[I]
       .getElementsByName("btn_login")(0).Click
  
                            
   End With
  
End Sub

-----------------------

Sub Stok()

Dim i, sonsat As Integer
Dim url As String


Dim XMLreq As New MSXML2.XMLHTTP60
Dim HTMLdoc As New MSHTML.HTMLDocument

sonsat = Sheets("Sayfa1").Range("A10000").End(xlUp).Row

For i = 1 To sonsat
On Error Resume Next

url = Sheets("Sayfa1").Range("A" & i)

XMLreq.Open "GET", url, False
XMLreq.send

If XMLreq.Status <> 200 Then

    MsgBox "Sayfaya ulaşılamadı"
    Exit Sub

End If

HTMLdoc.body.innerHTML = XMLreq.responseText

Sheets("Sayfa1").Range("B" & i) = HTMLdoc.getElementByClass("availability in-stock no-print").innerText

Next

End Sub
 
Üst