Télécharger le code source de la page Web à la feuille de travail

J'essaie d'avoir le code source de la page Web pour yahoo.com téléchargé dans ma feuille Excel.

Je n'ai pas réussi à créer un code. Mon code (mentionné ci-dessous) télécharge le text de la page Web PAS source:

With ActiveSheet.QueryTables.Add(Connection:="URL;https://www.yahoo.com/?p=us" _ , Destination:=Range("$A$1")) .Name = "?p=us" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With 

Utilisez la fonctionnalité XML de Microsoft

Activez Microsoft XML, v3.0 (ou 6 si vous êtes en 2010 et en haut) dans devises / Références dans l'éditeur VBA, puis lancez votre code comme ceci:

  Dim oXML As New MSXML2.XMLHTTP Dim xURL As Ssortingng Dim uTxt As Ssortingng xURL = "https://www.yahoo.com/?p=us" oXML.Open "GET", xURL, False oXML.setRequestHeader "Content-Type", "text/xml" oXML.send uTxt = oXML.responseText Codesplit = Split(uTxt, Chr(13)) 

Vous pouvez ensuite écrire les lignes sur une feuille par ligne ou, plus rapidement, alimenter les valeurs de partage dans un tableau et l'envoyer à la feuille d'une seule fois.

Je l'utilise pour parsingr le HTML en memory et download uniquement datatables que je souhaite sur la page Web. HTH