ik ben bezig met een programma om een helle hoop gegevens uit een html te halen en in een Excel sheet weg te schrijven.
Dit is mij ook gelukt, maar ik denk dat ik dit heel omslagtig doe.
iamdn een idee om dit makkelijker te berijken, ik heb het al geprobeert met
maar dan moet ik daarna weer die <TD> en andere zut weg filteren, wat me al helemaal niet lukt.
Dit is mij ook gelukt, maar ik denk dat ik dit heel omslagtig doe.
code:
1
2
3
4
5
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><!-- Constructed with LabVIEW Report Generation --><HEAD><TITLE></TITLE></HEAD><BODY><BR>8/31/20043:56 PM<BR><TABLE WIDTH="400.000000"><TR><TD>Typenumber:</TD><TD>tl280n42</TD></TR><TR><TD></TD><TD></TD></TR><TR><TD>Voltage:</TD><TD>229.66</TD></TR><TR><TD>Current:</TD><TD>0.777</TD></TR><TR><TD>Power:</TD><TD>178.21</TD></TR><TR><TD>Powerfactor:</TD><TD>0.998</TD></TR><TR><TD>Frequency:</TD><TD>50.00</TD></TR><TR><TD>THD :</TD><TD>3.942</TD></TR></TABLE><BR><TABLE WIDTH="400.000000"><TR><TD> 1 Harm.</TD><TD></TD> <TD>778.030</TD><TD> mA</TD><TD></TD><TD>100.000</TD><TD> %</TD></TR><TR><TD> 2 Harm.</TD><TD></TD><TD> 0.622</TD><TD> mA</TD><TD></TD> <TD> 0.080</TD><TD> %</TD></TR><TR><TD> 3 Harm.</TD><TD></TD><TD> 18.144</TD> <TD> mA</TD><TD></TD><TD> 2.332</TD><TD> %</TD></TR><TR><TD> 4 Harm.</TD><TD></TD><TD> 0.187</TD><TD> mA</TD><TD></TD><TD> 0.024</TD><TD> %</TD></TR><TR><TD> 5 Harm.</TD><TD></TD><TD> 3.867</TD><TD> mA</TD><TD></TD> </TR></TABLE></BODY></HTML> |
code:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| 'vvvvvvvv***Array***vvvvvvvv
een = Asc(een)
Dim intI As Integer, intJ As Integer
intJ = 1
For intI = 0 To 9
For intJ = 0 To 99
DynamicArray(intI, intJ) = (Chr(een) & (intJ + twee))
Next intJ
een = een + 1
Next intI
'^^^^^^^^^Array***^^^^^^^^^
intI = 0
intJ = -1
Dim fs, f, ts, s
Set fs = CreateObject("Scripting.FileSystemObject")
filetoopen = Application.GetOpenFilename("Harmonic files (*.prn), *.prn")
Set f = fs.GetFile(filetoopen)
Set ts = f.OpenAsTextStream()
Do While s <> "</BODY>"
s = ts.read(1)
If s = "<" Then
s = ts.read(1)
If s = "T" Then
s = ts.read(1)
If s = "D" Then
s = ts.read(1)
If s = ">" Then
s = ts.read(1)
If s <> "<" Then
twee = ""
Do While s <> "<"
If s <> "<" Then
twee = (twee & s)
End If
s = ts.read(1)
Loop
Worksheets("Sheet1").Range(DynamicArray(intI, intJ)) = twee
intI = intI + 1
End If
End If
Else
If s = "R" Then
intJ = intJ + 1
intI = 0
End If
End If
Else
If s = "/" Then
s = ts.read(1)
If s = "B" Then
s = ts.read(4)
If s = "ODY>" Then
s = "</BODY>"
End If
End If
End If
End If
End If
'MsgBox twee
Loop
ts.Close |
iamdn een idee om dit makkelijker te berijken, ik heb het al geprobeert met
code:
1
| ts.readline |
maar dan moet ik daarna weer die <TD> en andere zut weg filteren, wat me al helemaal niet lukt.