Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> Office

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

विधि 1 - वेबसाइट से विशिष्ट डेटा को एक्सेल VBA MsgBox में आयात करें

चरण:

  • रिबन से डेवलपर टैब पर जाएं।
  • कोड श्रेणी से विजुअल बेसिक पर क्लिक करके विजुअल बेसिक एडिटर खोलें। या ALT+F11 दबाकर विजुअल बेसिक एडिटर खोलें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह विजुअल बेसिक एडिटर में दिखाई देगा।
  • टूल्स मेनू पर जाएं और रेफरेंस पर क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • रेफरेंस - VBAProject डायलॉग बॉक्स दिखाई देगा।
  • थोड़ा नीचे स्क्रॉल करें और दो माइक्रोसॉफ्ट लाइब्रेरी सक्षम करें। माइक्रोसॉफ्ट HTML ऑब्जेक्ट लाइब्रेरी और माइक्रोसॉफ्ट इंटरनेट कंट्रोल्स चेक मार्क करें।
  • ओके क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • इन्सर्ट ड्रॉप-डाउन मेनू बार से मॉड्यूल पर क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह आपकी वर्कबुक में एक मॉड्यूल बनाएगा।
  • नीचे दिखाए गए VBA कोड को कॉपी और पेस्ट करें।

VBA कोड:

Sub Import_SpecificData()
Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim website As String
Dim total As Variant
website = "https://en.wikipedia.org/wiki/2022_FIFA_World_Cup"
Set request = CreateObject("MSXML2.XMLHTTP")
request.Open "GET", website, False
request.setRequestHeader "If-Modified-Since", "Mon, 14 Nov 2022 00:00:00 GMT"
request.send
response = StrConv(request.responseBody, vbUnicode)
html.body.innerHTML = response
total = html.getElementsByClassName("wikitable")(0).innerText
MsgBox total
End Sub
  • RunSub बटन पर क्लिक करके या कीबोर्ड शॉर्टकट F5 दबाकर कोड चलाएं।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह वेबसाइट से डेटा लाएगा और उस डेटा को MsgBox में दिखाएगा।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

VBA कोड व्याख्या

Sub Import_SpecificData()

Sub कोड का एक हिस्सा है जिसका उपयोग कोड में काम को संभालने के लिए किया जाता है लेकिन कोई मान वापस नहीं करेगा। इसे सबप्रोसीजर के रूप में भी जाना जाता है। हमने अपनी प्रक्रिया का नाम Import_SpecificData() रखा।

Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim website As String
Dim total As Variant

VBA में DIM स्टेटमेंट "घोषित करें" को संदर्भित करता है, जिसका उपयोग वेरिएबल घोषित करने के लिए किया जाना चाहिए।

website = "https://en.wikipedia.org/wiki/2022_FIFA_World_Cup"
Set request = CreateObject("MSXML2.XMLHTTP")

यह एक ऑब्जेक्ट बनाएगा जो वेबपेज अनुरोध करेगा।

request.Open "GET", website, False

इस ब्लॉक से हमें पता चलेगा कि कहां जाना है और कैसे जाना है। आपको लाइन बदलने की जरूरत नहीं है, आप किसी भी वेबसाइट से किसी भी प्रकार का डेटा आयात करते समय इस लाइन को सीधे कॉपी कर सकते हैं।

request.setRequestHeader "If-Modified-Since", "Mon, 14 Nov 2022 00:00:00 GMT"

हम अपनी वेबसाइट से ताजा डेटा प्राप्त करेंगे।

request.send

यह लाइन वेबपेज पर अनुरोध भेजती है।

response = StrConv(request.responseBody, vbUnicode)

हम वेबपेज प्रतिक्रिया डेटा को वेरिएबल में प्राप्त करते हैं।

html.body.innerHTML = response

कोड की यह लाइन डेटा संदर्भ को आसान बनाने के लिए वेबपेज को HTML ऑब्जेक्ट में डालती है।

total = html.getElementsByClassName("wikitable")(0).innerText

इस लाइन से, हम वेबपेज के निर्दिष्ट तत्वों का कुल प्राप्त करेंगे। हमें क्लास नाम प्राप्त करने की आवश्यकता है। उस विशेष तत्व का क्लास नाम प्राप्त करने के लिए, हमें सरल निर्देशों का पालन करना होगा।

  • वेबसाइट पर जाएं और उस विशेष ब्लॉक पर राइट-क्लिक करें।
  • फिर, इंस्पेक्ट पर क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह उस वेबसाइट के HTML और CSS तत्वों को प्रदर्शित करेगा। जिस क्लास की आपको आवश्यकता है उस पर क्लिक करें और उन्हें html.getElementsByClassName("wikitable") के अंदर डालें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

MsgBox total

यह माइक्रोसॉफ्ट विंडो में कुल दिखाएगा।

End Sub

यह प्रक्रिया समाप्त करेगा।

विधि 2 - वेबसाइट से डेटा स्क्रैप करके एक्सेल में लाएं

चरण:

  • उस छोटे आइकन पर क्लिक करें जो रिकॉर्ड मैक्रो करता है।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • रिकॉर्ड मैक्रो डायलॉग दिखाई देगा।
  • मैक्रो को एक नाम दें। हम मैक्रो का नाम Get_Data रखते हैं।
  • ओके क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • डेटा टैब पर जाएं रिबन से।
  • प्राप्त करें और रूपांतरित करें डेटा के तहत वेब से पर क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • वेब से विंडो दिखाई देगी।
  • अपने कीबोर्ड पर CTRL+V दबाकर URL को URL क्षेत्र में पेस्ट करें बेसिक चुनने के बाद।
  • ओके बटन दबाएं।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • परिणामस्वरूप नेविगेटर डायलॉग बॉक्स दिखाई देगा।
  • प्रदर्शन विकल्प मेनू से कोई भी डेटा टेबल चुनें जो आपकी आवश्यकताओं के अनुरूप हो।
  • "लोड टू" चुनें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • डेटा आयात डायलॉग दिखाई देगा।
  • "आप इस डेटा को अपनी वर्कबुक में कैसे देखना चाहते हैं?" से टेबल चुनें और मौजूदा वर्कशीट पर क्लिक करें।
  • वह सेल चुनें जहां आप डेटा आयात करना चाहते हैं।
  • ओके क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह वेबसाइट से डेटा आयात करेगा।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • पूरी वर्कशीट चुनें और हटाएं बटन पर क्लिक करें, माइक्रोसॉफ्ट एक्सेल डायलॉग दिखाई देगा। सुनिश्चित करें कि आप नहीं पर क्लिक करते हैं।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह सभी डेटा को हटा देगा।
  • रिबन से डेटा पर जाएं और क्वेरीज़ और कनेक्शन के तहत सभी रिफ्रेश करें पर क्लिक करें।
  • वर्कशीट में सभी डेटा वापस प्राप्त करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • रिबन खोलें और ड्रॉप-डाउन मेनू से डेवलपर चुनें।
  • विजुअल बेसिक चुनकर विजुअल बेसिक एडिटर खोलें। या, विजुअल बेसिक एडिटर को ALT+F11 दबाकर भी एक्सेस किया जा सकता है।
  • मॉड्यूल में, आपको VBA मैक्रोज़ मिलेंगे।

VBA कोड:

Option Explicit
Sub Get_Data()
'
' Get_Data Macro
'
Sheets("Get Data").Select
Range("N11").Select
ActiveWorkbook.Queries.Add Name:="2022 FIFA bidding (majority 12 votes)", _
Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""https://en.wikipedia.org/wiki/2022_FIFA_World_Cup""))," & Chr(13) _
& "" & Chr(10) & " Data1 = Source{1}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes (Data1,{{""Bidders"", type text}, {""Votes Round 1"", type text}, {""Votes Round 2"", type text}, {""Votes Round 3"", type text}, {""Votes Round 4"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Changed Type"""
Workbooks("Import Data from Website .xlsm").Connections.Add2 _
"Query - 2022 FIFA bidding (majority 12 votes)", _
"Connection to the '2022 FIFA bidding (majority 12 votes)' query in the workbook." _
, Array( _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""2022 FIFA bidding (majority 12 votes)"";Extended Properties=""""" _
, ""), "SELECT * FROM [2022 FIFA bidding (majority 12 votes)]", 2
Application.CommandBars("Queries and Connections").Visible = False
ActiveWorkbook.Queries.Add Name:="2022 FIFA bidding (majority 12 votes) (2)" _
, Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Web.Page(Web.Contents(""https://en.wikipedia.org/wiki/2022_FIFA_World_Cup""))," & Chr(13) _
& "" & Chr(10) & " Data1 = Source{1}[Data]," & Chr(13) & "" & Chr(10) & " #""Changed Type"" = Table.TransformColumnTypes(Data1,{{""Bidders"", type text}, {""Votes Round 1"", type text}, {""Votes Round 2"", type text}, {""Votes Round 3"", type text}, {""Votes Round 4"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""Changed Type"""
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""2022 FIFA bidding (majority 12 votes) (2)"";Extended Propertie" _
, "s="""""), Destination:=Range("$B$2")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array( _
"SELECT * FROM [2022 FIFA bidding (majority 12 votes) (2)]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "_2022_FIFA_bidding__majority_12_votes___2"
.Refresh BackgroundQuery:=False
End With
Columns("A:A").ColumnWidth = 2.86
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Columns("G:G").ColumnWidth = 12
Range("M26").Select
Application.CommandBars("Queries and Connections").Visible = False
Cells.Select
Selection.ListObject.QueryTable.Delete
Selection.ClearContents
Range("B2:F9").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("B2").Select
End Sub

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह स्वचालित मैक्रो कोड है।

एक्सेल में डेटा टैब का उपयोग करके वेब डेटा कैसे आयात करें

चरण:

  • अपने आयात डेटा वर्कशीट में सेल C4 में URL रखें।
  • CTRL+C दबाकर URL कॉपी करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • डेटा टैब पर जाएं रिबन से।
  • प्राप्त करें और रूपांतरित करें डेटा के तहत वेब से पर क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • वेब से नामक एक विंडो दिखाई देगी।
  • बेसिक चुनें और URL फ़ील्ड में, अपने कीबोर्ड से CTRL+V दबाकर URL पेस्ट करें।
  • ओके बटन पर क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह नेविगेटर डायलॉग बॉक्स प्रदर्शित करेगा।
  • प्रदर्शन विकल्प से अपनी आवश्यकताओं के अनुसार कोई भी डेटा टेबल चुनें।
  • लोड पर क्लिक करें।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

  • यह उस वेबसाइट से चयनित डेटा आयात करेगा और इसे आपकी एक्सेल फाइल में लोड करेगा।

सरल डेटा ट्रांसफर: वेबसाइट डेटा को एक्सेल में खींचने के 2 सिद्ध VBA तरीके

अभ्यास वर्कबुक डाउनलोड करें

आप वर्कबुक डाउनलोड कर सकते हैं और उनके साथ अभ्यास कर सकते हैं।

संबंधित लेख

  • एक्सेल VBA: क्रोम के साथ वेब स्क्रैपिंग
  • वेबसाइट से टेबल स्क्रैप करने के लिए एक्सेल VBA
  • ब्राउज़र के बिना वेब स्क्रैपिंग कैसे करें एक्सेल VBA के साथ

मुफ्त उन्नत एक्सेल अभ्यास समाधान के साथ प्राप्त करें!

  1. VMware: IP या MAC पते द्वारा VMs कैसे खोजें? VMware: IP या MAC पते द्वारा VMs कैसे खोजें?

    VMware vSphere क्लाइंट इंटरफ़ेस में, आप वर्चुअल मशीनों को केवल उनके नामों से खोज सकते हैं। लेकिन कुछ मामलों में, विशिष्ट VMware वर्चुअल मशीन को उसके IP या MAC (NIC हार्डवेयर) पते से ढूंढना आवश्यक होता है। इसे VMware PowerCLI का उपयोग करके करना आसान है जो आपको विभिन्न वर्चुअल मशीन पैरामीटर्स द्वारा

  1. ज़ेन क्लाउड प्लेटफॉर्म (XCP): व्यापक समीक्षा और उपयोगकर्ता गाइड ज़ेन क्लाउड प्लेटफॉर्म (XCP): व्यापक समीक्षा और उपयोगकर्ता गाइड

    हमारे पास ज़ेन पर एक परिचय लेख था और हमने ज़ेन लाइव CD पर चर्चा की। अब, आइए एक और ज़ेन-आधारित उत्पाद का पता लगाएं। ज़ेन क्लाउड प्लेटफॉर्म (XCP) एक स्टैंडअलोन वर्चुअलाइज़ेशन सॉफ़्टवेयर है, जो VMware ESXi के समान है। XCP ज़ेन हाइपरवाइज़र को गेस्ट ऑपरेटिंग सिस्टम की एक श्रृंखला के लिए समर्थन के साथ वित

  1. वेब ऐप पर इंस्टाग्राम फीचर्स एक्सप्लोर करें: एक पूर्ण गाइड वेब ऐप पर इंस्टाग्राम फीचर्स एक्सप्लोर करें: एक पूर्ण गाइड

    वर्ष 2020 ने नाटकीय रूप से छलांग लगाई, सचमुच! क्वारंटाइन, सोशल डिस्टेंसिंग, सेल्फ-आइसोलेशन जैसे शब्द हमारे जीवन और दैनिक बातचीत का एक बड़ा हिस्सा बन गए हैं। पूरी दुनिया महामारी कोरोनावायरस बीमारी के खिलाफ लड़ रही है, और हम सभी COVID-19 वायरस के संपर्क में आने से खुद को बचाने के लिए अपने घरों में बंद