سلام دوستان عزیز وقتتون بخیر؛ آرزوی اوقات خوشی رو براتون داریم 🙂 در این جلسه از سری آموزش های پویش پایدار در خدمتتون هستیم برای آموزش فرمول نویسی در اکسل با مثال های مختلف.
آموزش فرمول نویسی در اکسل همراه با مثال (مقدماتی)
این کد VBA برای دریافت و نمایش قیمتهای مختلف از وبسایت TGJU طراحی شده است. در ادامه به تکههای مختلف این کد میپردازیم:
تعریف متغیرها:
Dim html As Object
Dim url As String
Dim elementsTh As Object
Dim elementsTd As Object
Dim element As Object
Dim tdElement As Object
Dim priceDollar As String
Dim priceGoldOunce As String
Dim PriceGold18 As String
Dim priceEmami As String
Dim priceBaharAzadi As String
Dim priceNimSkeeh As String
Dim priceRobSekkeh As String
Dim priceEuro As String
Dim searchDollar As String
Dim priceGold24 As String
Dim searchGold18 As String
Dim searchEmami As String
Dim searchBaharAzadi As String
Dim searchNimSekkeh As String
Dim searchRobSekkeh As String
Dim searchEuro As String
Dim searchGold24 As String
Dim searchOunce As String
Dim i As Integer
Dim found As Boolean
در این قسمت، متغیرهای مختلفی برای ذخیره اطلاعات از جمله آبجکتهای HTTP و HTML، آدرس URL، و مقادیر قیمتها تعریف میشوند.
تنظیم URL:
این خط URL وبسایتی را که قرار است از آن داده دریافت شود، مشخص میکند.
ایجاد و ارسال درخواست HTTP:
http.Open “GET”, url, False
http.setRequestHeader “Cache-Control”, “no-cache”
http.setRequestHeader “Pragma”, “no-cache”
http.Send
این بخش یک شیء HTTP ایجاد میکند، یک درخواست GET به URL ارسال میکند، و پاسخ را بدون کشینگ دریافت میکند.
پردازش پاسخ HTML:
html.body.innerHTML = http.responseText
پس از دریافت پاسخ، محتویات HTML به عنوان یک فایل HTML بارگذاری میشوند تا بتوان با آنها کار کرد.
خواندن دادهها از شیت 2:
searchGold24 = ThisWorkbook.Sheets(2).Range(“A2”).Value
searchGold18 = ThisWorkbook.Sheets(2).Range(“A3”).Value
searchDollar = ThisWorkbook.Sheets(2).Range(“A4”).Value
searchEuro = ThisWorkbook.Sheets(2).Range(“A5”).Value
searchEmami = ThisWorkbook.Sheets(2).Range(“A6”).Value
searchBaharAzadi = ThisWorkbook.Sheets(2).Range(“A7”).Value
searchNimSekkeh = ThisWorkbook.Sheets(2).Range(“A8”).Value
searchRobSekkeh = ThisWorkbook.Sheets(2).Range(“A9”).Value
در این قسمت، مقادیر مربوط به نام داراییها از سلولهای A1 تا A9 در شیت 2 استخراج میشود تا در ادامه برای مقایسه با محتوای وبسایت استفاده شود.
پیدا کردن و استخراج قیمت دلار:
Set element = elementsTh.Item(i)
If InStr(element.innerText, searchDollar) > 0 Then
priceDollar = element.ParentNode.getElementsByClassName(“market-price”)(0).innerText
Exit For
End If
Next i
در این بخش، برنامه در میان المانهای th
در HTML به دنبال عبارت دلار میگردد و اگر آن را پیدا کند، قیمت آن را استخراج میکند.
پیدا کردن و استخراج قیمت انس طلا:
Set element = elementsTh.Item(i)
If InStr(element.innerText, searchOunce) > 0 Then
priceGoldOunce = element.ParentNode.getElementsByTagName(“td”)(0).innerText
Exit For
End If
Next i
مشابه با مرحله قبل، در اینجا نیز قیمت انس طلا از HTML استخراج میشود.
پیدا کردن و استخراج قیمتهای دیگر (طلا 18 عیار، سکه امامی، بهار آزادی، نیمسکه، ربعسکه، یورو، و طلا 24 عیار): برای هر کدام از این موارد، یک حلقه مشابه اجرا میشود تا المان مورد نظر در HTML پیدا و قیمت آن استخراج شود.
نمایش قیمتها در شیت 1:
ThisWorkbook.Sheets(1).Range(“B2”).Value = priceGoldOunce
Else
MsgBox “قیمت دلار یافت نشد. لطفاً آدرس یو آر ال یا موقعیت کلاس سی اس اس را بررسی کنید.”
End If
ممنون از توجه شما 🙂
هر گونه سوال، پیشنهاد یا انتقادی در رابطه با دوره رایگان آموزش اکسل دارید در بخش دیدگاهها مطرح نمایید تا بتوانیم بهترین آموزش ها را برای شما علاقمندان به آموزش اکسل تهیه کنیم.
مطالب زیر را حتما مطالعه کنید