- 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
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