سلام دوستان عزیز وقتتون بخیر؛ آرزوی اوقات خوشی رو براتون داریم 🙂 در این جلسه از سری آموزش های پویش پایدار در خدمتتون هستیم برای آموزش فرمول نویسی در اکسل با مثال های مختلف.

null

برو به جلسه بعدی

null

برو به جلسه قبلی

null

زمان ویدیو

12:43 دقیقه

مدرس دوره: سهیل فتحی

مدرس دوره

سهیل فتحی

null

زمان ویدیو

12:43 دقیقه

مدرس دوره: سهیل فتحی

مدرس دوره

سهیل فتحی

null

جلسه قبلی

آموزش فرمول‌ نویسی در اکسل همراه با مثال (مقدماتی)

این کد VBA برای دریافت و نمایش قیمت‌های مختلف از وب‌سایت TGJU طراحی شده است. در ادامه به تکه‌های مختلف این کد می‌پردازیم:

تعریف متغیرها:

Dim http As Object
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:

Set http = CreateObject(“MSXML2.XMLHTTP”)
http.Open “GET”, url, False
http.setRequestHeader “Cache-Control”, “no-cache”
http.setRequestHeader “Pragma”, “no-cache”
http.Send

این بخش یک شیء HTTP ایجاد می‌کند، یک درخواست GET به URL ارسال می‌کند، و پاسخ را بدون کشینگ دریافت می‌کند.

پردازش پاسخ HTML:

Set html = CreateObject(“htmlfile”)
html.body.innerHTML = http.responseText

پس از دریافت پاسخ، محتویات HTML به عنوان یک فایل HTML بارگذاری می‌شوند تا بتوان با آن‌ها کار کرد.

خواندن داده‌ها از شیت 2:

searchOunce = ThisWorkbook.Sheets(2).Range(“A1”).Value
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 استخراج می‌شود تا در ادامه برای مقایسه با محتوای وب‌سایت استفاده شود.

پیدا کردن و استخراج قیمت دلار:

For i = 0 To elementsTh.Length – 1
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 به دنبال عبارت دلار می‌گردد و اگر آن را پیدا کند، قیمت آن را استخراج می‌کند.

پیدا کردن و استخراج قیمت انس طلا:

For i = 0 To elementsTh.Length – 1
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:

If Len(priceGoldOunce) > 0 Then
ThisWorkbook.Sheets(1).Range(“B2”).Value = priceGoldOunce
Else
MsgBox “قیمت دلار یافت نشد. لطفاً آدرس یو آر ال  یا موقعیت کلاس سی اس اس را بررسی کنید.”
End If

 

ممنون از توجه شما 🙂

هر گونه سوال، پیشنهاد یا انتقادی در رابطه با دوره رایگان آموزش اکسل دارید در بخش دیدگاه‌ها مطرح نمایید تا بتوانیم بهترین آموزش ها را برای شما علاقمندان به آموزش اکسل تهیه کنیم.

مطالب زیر را حتما مطالعه کنید

دیدگاهتان را بنویسید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای مورد نیاز با * مشخص شده است

نوشتن دیدگاه