विधि 1 - वेबसाइट से Excel VBA MsgBox में विशिष्ट डेटा आयात करें
<पी> कदम: पी> - डेवलपर पर जाएं रिबन से टैब.
- विजुअल बेसिक पर क्लिक करें कोड से विजुअल बेसिक एडिटर खोलने के लिए श्रेणी . या ALT दबाएँ +F11 विजुअल बेसिक एडिटर खोलने के लिए .
<पी>
- यह विजुअल बेसिक एडिटर में दिखाई देगा .
- टूल्स पर जाएं मेनू और संदर्भ पर क्लिक करें .
<पी>
- संदर्भ - VBAप्रोजेक्ट डायलॉग बॉक्स दिखाई देगा.
- थोड़ा नीचे स्क्रॉल करें और दो Microsoft सक्षम करें पुस्तकालय . Microsoft HTML ऑब्जेक्ट लाइब्रेरी को चेक करें और Microsoft इंटरनेट नियंत्रण .
- ठीक क्लिक करें .
<पी>
- मॉड्यूल पर क्लिक करें सम्मिलित करें से ड्रॉप-डाउन मेनू बार.
<पी>
- यह एक मॉड्यूल बनाएगा आपकी कार्यपुस्तिका में.
- 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
- RubSub पर क्लिक करके कोड चलाएँ बटन दबाएँ या कीबोर्ड शॉर्टकट F5 दबाएँ .
<पी>
- यह वेबसाइट से डेटा आयात करेगा और उन्हें MsgBox में दिखाएगा .
<पी>
<पी> वीबीए कोड स्पष्टीकरण पी> Sub Import_SpecificData()
<पी> उप यह कोड का एक भाग है जिसका उपयोग कोड में कार्य को संभालने के लिए किया जाता है लेकिन यह कोई मान नहीं लौटाएगा। इसे उपप्रक्रिया के नाम से भी जाना जाता है। हमने अपनी प्रक्रिया को Import_SpecificData() नाम दिया है . Dim request As Object
Dim response As String
Dim html As New HTMLDocument
Dim website As String
Dim total As Variant
<पी> मंद VBA में कथन "घोषणा," को संदर्भित करता है ” जिसका उपयोग एक वेरिएबल घोषित करने के लिए किया जाना चाहिए। 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
<पी> इस लाइन से हमें वेबपेज के निर्दिष्ट तत्वों का कुल योग प्राप्त होगा। हमें कक्षा का नाम प्राप्त करने की आवश्यकता है। उस विशेष तत्व का वर्ग नाम प्राप्त करने के लिए, हमें सरल निर्देशों का पालन करना होगा। - वेबसाइट पर जाएं और राइट-क्लिक करें उस विशेष ब्लॉक पर.
- फिर, निरीक्षण पर क्लिक करें .
<पी>
- यह HTML प्रदर्शित करेगा और सीएसएस उस वेबसाइट के तत्व. आपको जो कक्षा लेनी है उस पर क्लिक करें और उन्हें html.getElementsByClassName(“wikitable”) के अंदर रखें .
<पी>
MsgBox total
<पी> यह Microsoft में कुल दिखाएगा खिड़की. End Sub
<पी> इससे प्रक्रिया समाप्त हो जाएगी. विधि 2 - वेबसाइट से एक्सेल तक डेटा स्क्रैप करें
<पी> कदम: पी> - उस छोटे आइकन पर क्लिक करें जो रिकॉर्ड है मैक्रो .
<पी>
- रिकॉर्ड मैक्रो संवाद दिखाई देगा.
- मैक्रो को एक नाम दें. हम मैक्रो को Get_Data नाम देते हैं .
- ठीक क्लिक करें .
<पी>
- डेटा पर जाएं रिबन से टैब.
- वेब से पर क्लिक करें डेटा प्राप्त करें और रूपांतरित करें के अंतर्गत .
<पी>
- दवेब से विंडो दिखाई देगी.
- CTRL क्लिक करके +वी अपने कीबोर्ड पर, URL चिपकाएँ URL में बुनियादीचुनने के बाद क्षेत्र .
- ओके दबाएं बटन.
<पी>
- नेविगेटर परिणामस्वरूप संवाद बॉक्स दिखाई देगा.
- प्रदर्शन विकल्प में से कोई भी डेटा तालिका चुनें वह मेनू जो आपकी आवश्यकताओं के अनुरूप हो।
- “यहां लोड करें” चुनें .''
<पी>
- डेटा आयात करें संवाद दिखाई देगा.
- तालिका चुनें “चुनें कि आप इस डेटा को अपनी कार्यपुस्तिका में कैसे देखना चाहते हैं से ” और मौजूदा वर्कशीट पर क्लिक करें .
- वह सेल चुनें जहां आप डेटा आयात करना चाहते हैं।
- ठीक क्लिक करें .
<पी>
- यह वेबसाइट से डेटा आयात करेगा।
<पी>
- संपूर्ण वर्कशीट का चयन करें और हटाएं पर क्लिक करें बटन, Microsoft उत्कृष्ट संवाद दिखाई देगा. सुनिश्चित करें कि आपने नहीं पर क्लिक किया है .
<पी>
- यह हटा देगा सारा डेटा.
- डेटा पर जाएं रिबन से और सभी को ताज़ा करें पर क्लिक करें प्रश्न एवं कनेक्शन के अंतर्गत .
- सभी डेटा को वर्कशीट में वापस प्राप्त करें।
<पी>
- रिबन खोलें और डेवलपर चुनें ड्रॉप-डाउन मेनू से.
- विज़ुअल बेसिक चुनें विजुअल बेसिक एडिटर खोलने के लिए . या, विज़ुअल बेसिक संपादक ALT दबाकर भी पहुंचा जा सकता है +F11 .
- मॉड्यूल में , आपको 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
<पी>
- यह स्वचालित मैक्रो कोड है।
एक्सेल में डेटा टैब का उपयोग करके वेब डेटा कैसे आयात करें
<पी> कदम: पी> - URL डालें सेल C4 में हमारे आयात डेटा वर्कशीट में।
- URL कॉपी करें CTRL दबाकर +सी .
<पी>
- डेटा पर जाएं रिबन से टैब.
- वेब से पर क्लिक करें डेटा प्राप्त करें और रूपांतरित करें के अंतर्गत .
<पी>
- एक विंडो जिसका नाम वेब से है दिखाई देगा.
- बेसिक चुनें और URL में फ़ील्ड, यूआरएल चिपकाएं CTRL दबाकर +वी आपके कीबोर्ड से.
- ओके पर क्लिक करें बटन.
<पी>
- यह नेविगेटर प्रदर्शित करेगा डायलॉग बॉक्स.
- प्रदर्शन विकल्प से अपनी आवश्यकताओं के अनुसार किसी भी डेटा तालिका का चयन करें .
- लोड पर क्लिक करें .
<पी>
- यह उस वेबसाइट से चयनित डेटा आयात करेगा और इसे आपकी एक्सेल फ़ाइल में लोड करेगा।
<पी>
<पी> अभ्यास कार्यपुस्तिका डाउनलोड करें पी> <पी> आप कार्यपुस्तिका डाउनलोड कर सकते हैं और उनके साथ अभ्यास कर सकते हैं। संबंधित लेख
- एक्सेल वीबीए:क्रोम के साथ वेब स्क्रैपिंग
- वेबसाइट से टेबल स्क्रैप करने के लिए एक्सेल VBA
- एक्सेल वीबीए के साथ ब्राउज़र के बिना वेब स्क्रैपिंग कैसे करें
समाधान के साथ निःशुल्क उन्नत एक्सेल अभ्यास प्राप्त करें!