1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
Sub test()
Dim laChaine As String, x, fichier As String
fichier = "C:\Users\polux\Desktop\ContratExtrait.xml"
x = FreeFile
Open fichier For Input As #x
laChaine = Input(LOF(x), #x)
Close #x
ligne = Split(laChaine, vbCrLf)
For i = 1 To UBound(ligne)
deb = IIf(i > 1, "</TR>", "")
If InStr(ligne(i), "<Contrat") > 0 Then
ligne(i) = deb & vbCrLf & "<TR class=Contrat>" & vbCrLf
Else
If Left(ligne(i), 3) <> "<tr" Then ligne(i) = Replace(ligne(i), "<", "<TD id =")
ligne(i) = Split(ligne(i), "<TD id =/")(0)
ligne(i) = ligne(i) & "</TD>"
End If
If ligne(i) = " </TD>" Then ligne(i) = ""
code = code & ligne(i) & vbCrLf
Next
code = "<Table>" & Replace(code, "/>", ">") & "</TR></table>"
'Debug.Print code
With CreateObject("htmlfile")
.body.innerhtml = code
For e = 0 To .getelementsbytagname("TR")(e).Children.Length - 1
entete = entete & .getelementsbytagname("TR")(1).Children(e).ID & " "
Next
ent = Split(entete, " ")
For a = 0 To .getelementsbytagname("TR").Length - 1
.getelementsbytagname("TR")(a).ID = .getelementsbytagname("TR")(a).Children(0).innertext
Next
Debug.Print .body.innerhtml
If .parentWindow.clipboardData.setData("Text", .body.innerhtml) Then
Application.ScreenUpdating = False
With Sheets(1)
.Activate
Cells(1, 1).Resize(1, UBound(ent)) = ent
.Cells(2, 1).Select
.Paste
End With
.parentWindow.clipboardData.clearData "Text"
End If
End With
End Sub |