Bonjour,
J'aurais besoin de vos lumières car je sèche sur quelques lignes de code :
- J'ai un fichier excel dans lequel je colle des liens d'autres fichiers excel issus de l'intranet afin de pouvoir les télécharger dans un fichier local.
- Ce que je souhaiterai faire, c'est automatiser la collecte de ces liens.
- Pour ce faire j'ai commencé un code qui cherche le code source d'un site pour en extraire tous les liens avec "xslm" par exemple.
Le problème c'est que j'obtiens ce code source via objDoc.body.innerHTML, je ne sais pas si je peux directement faire une recherche à partir de ceci. J'ai essayé de coller le contenu dans excel, mais c'est trop grand pour une cellule, idem pour un fichier texte temporaire.
Je joins un bout de code :
Mon code est loin d'etre optimisé parce que j'ai pas mal bidouillé en cherchant des solutions alternatives comme avec sendkeys par exemple, que j'ai enlevés par la suite.
Quelqu'un a-t-il une idée?
Merci.
J'aurais besoin de vos lumières car je sèche sur quelques lignes de code :
- J'ai un fichier excel dans lequel je colle des liens d'autres fichiers excel issus de l'intranet afin de pouvoir les télécharger dans un fichier local.
- Ce que je souhaiterai faire, c'est automatiser la collecte de ces liens.
- Pour ce faire j'ai commencé un code qui cherche le code source d'un site pour en extraire tous les liens avec "xslm" par exemple.
Le problème c'est que j'obtiens ce code source via objDoc.body.innerHTML, je ne sais pas si je peux directement faire une recherche à partir de ceci. J'ai essayé de coller le contenu dans excel, mais c'est trop grand pour une cellule, idem pour un fichier texte temporaire.
Je joins un bout de code :
Code:
Public Sub Gethtml()
dim txt
Dim dest, sourcecode As String
Dim IE As Object, objDoc As Object
Dim myURL As String
'l'url du site intranet, mais peu importe le site
myURL = Range("B1").Value
Set IE = CreateObject("internetexplorer.application")
IE.navigate myURL
'Wait for page to load!
Do
If IE.readyState = 4 Then
IE.Visible = False
Exit Do
Else
DoEvents
End If
Loop
Set objDoc = IE.document
'destination du fichier txt temporaire
dest = "D:\Shared\test\temp.txt"
'Html
Set fsys = CreateObject("Scripting.FileSystemObject")
Set txt = fsys.CreateTextFile(dest)
filecode = FreeFile
sourcecode=objDoc.body.innerHTML
'Ouverture fichier txt temporaire pour copie donnees
Open dest For Output As filecode
Print #filecode, sourcecode
Close #filecode
'reste a faire l'argument de recherche mais avant ça, je dois pouvoir exploiter le code source..
'copie du code source vers une cellule (juste pour test)
'Sheets("Source").Range("A1").Value = objDoc.body.innerHTML
Set objDoc = Nothing
Set IE = Nothing
End Sub
Mon code est loin d'etre optimisé parce que j'ai pas mal bidouillé en cherchant des solutions alternatives comme avec sendkeys par exemple, que j'ai enlevés par la suite.
Quelqu'un a-t-il une idée?
Merci.