Ik ben op dit moment bezig met een EDIFACT-applicatie. De omschrijving van EDIFACT staat in een Word-document welke ik wil inlezen in een een tabel. Onderstaand een stukje van de tabel:
http://www.freeimagehosting.net/image.php?0c812950be.jpg
Met onderstaande code lukt het wel om data uit te lezen:
Wanneer ik de tekst uit de eerste column van de tabel in een textbox laat plaatsen, dan wordt niet alles netjes onder elkaar geplaatst zoals in het word-document, maar komt alles achter elkaar. Ik heb geprobeerd te splitten op vbnewline, maar dan blijkt dat deze er niet in zitten. Wel zitten er veel tabs in en ik kan hier ook op splitten, maar zo krijg ik nooit wat ik wil. Ik wil regel voor regel kunnen (eerst splitten met regex) inlezen. Het vreemde is wanneer ik de tekst in een msgbox laat plaatsen deze wel netjes onder elkaar wordt weergegeven. Weet er iemand hoe ik dit kan oplossen? Wanneer de omschrijving nog niet helemaal duidelijk is hoor ik dat graag.
-- Edit sorry, plaatje doet het niet direct in bericht. Link wel bereikbaar
http://www.freeimagehosting.net/image.php?0c812950be.jpg
Met onderstaande code lukt het wel om data uit te lezen:
Visual Basic .NET:
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
| Dim a As New Word.Application Dim b As Word.Document = a.Documents.Open("D:\Test.docx") Dim t As Word.Table Dim c As Word.Cell Dim i As Integer = 0 Dim str As String Dim intFound As Integer = 0 Dim rng As Word.Range = b.Range Dim test(1000) As String t = b.Range.Tables(1) 'MsgBox(t.Rows.Count) c = t.Cell(2, 1) 'Me.TextBox1.Text = c.Range.Text 'test(1000) = c.Range.Text. 'MsgBox(c.Range.Text) Dim sLines() As String, N As Long sLines = Split(c.Range.Text, vbTab) For N = 0 To UBound(sLines) If i = 0 Then str = sLines(N) ElseIf i = 1 Or i = 2 Or i = 3 Then str += sLines(N) End If i += 1 If i = 3 Then MsgBox(str) str = "" i = 0 End If 'MsgBox(sLines(N)) Next N a.Quit() End Sub |
Wanneer ik de tekst uit de eerste column van de tabel in een textbox laat plaatsen, dan wordt niet alles netjes onder elkaar geplaatst zoals in het word-document, maar komt alles achter elkaar. Ik heb geprobeerd te splitten op vbnewline, maar dan blijkt dat deze er niet in zitten. Wel zitten er veel tabs in en ik kan hier ook op splitten, maar zo krijg ik nooit wat ik wil. Ik wil regel voor regel kunnen (eerst splitten met regex) inlezen. Het vreemde is wanneer ik de tekst in een msgbox laat plaatsen deze wel netjes onder elkaar wordt weergegeven. Weet er iemand hoe ik dit kan oplossen? Wanneer de omschrijving nog niet helemaal duidelijk is hoor ik dat graag.
-- Edit sorry, plaatje doet het niet direct in bericht. Link wel bereikbaar
[ Voor 3% gewijzigd door Verwijderd op 13-02-2010 11:52 ]