Hallo, wie o wie kan mij helpen met dit probleem.
Ik krijg wekelijks een tekstbestand aangeleverd met een vaste veld en record indeling.
Dit bestand dient elke week dezelfde bewerkingen te ondergaan.
Ik heb dit in Excel VBA geautomatiseerd. Er is echter een probleem met het opslaan.
Sla ik het bestand handmatig vanuit Excel op als een .CSV bestand dan gebruikt excel ( precies zoals ik wil ) de ; als lijstscheidingsteken. Echter wanneer ik dit laat doen via mijn macro wordt de , als lijstscheidingsteken gebruikt. Wie kan mij voorzien van ik goed stukje VBA code waarin ik het lijstscheidingsteken zelf kan bepalen.
Hieronder de gebruikte VBA code zoals ik deze nu gebruik. Alles werkt dus perfect behalve dan, dat het bestand als een , i.p.v. ; gescheiden bestand wordt opgeslagen.
Ik krijg wekelijks een tekstbestand aangeleverd met een vaste veld en record indeling.
Dit bestand dient elke week dezelfde bewerkingen te ondergaan.
Ik heb dit in Excel VBA geautomatiseerd. Er is echter een probleem met het opslaan.
Sla ik het bestand handmatig vanuit Excel op als een .CSV bestand dan gebruikt excel ( precies zoals ik wil ) de ; als lijstscheidingsteken. Echter wanneer ik dit laat doen via mijn macro wordt de , als lijstscheidingsteken gebruikt. Wie kan mij voorzien van ik goed stukje VBA code waarin ik het lijstscheidingsteken zelf kan bepalen.
Hieronder de gebruikte VBA code zoals ik deze nu gebruik. Alles werkt dus perfect behalve dan, dat het bestand als een , i.p.v. ; gescheiden bestand wordt opgeslagen.
Visual Basic:
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
64
| Sub KNSticker() ' ' KNSticker Macro ' De macro is opgenomen op 10-5-2006 door P.Preuter. ' ' ChDir "S:\004WNG\Commander Keten\Dataman\Uitvoer 01" Workbooks.OpenText FileName:= _ "S:\004WNG\Commander Keten\Dataman\Uitvoer 01\KNSticker.txt", Origin:=xlWindows, _ StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 2), Array(10 _ , 1), Array(11, 1), Array(51, 1), Array(52, 1), Array(92, 1), Array(93, 1), Array(143, 1), _ Array(144, 1), Array(194, 1), Array(195, 1), Array(235, 1), Array(294, 1), Array(295, 1), _ Array(345, 1), Array(346, 1), Array(351, 1), Array(352, 1), Array(402, 1), Array(403, 1)) Range("B:B,D:D,F:F,H:H,J:J,L:L,M:M,O:O,Q:Q").Select Range("Q1").Activate ActiveWindow.SmallScroll ToRight:=4 Range("B:B,D:D,F:F,H:H,J:J,L:L,M:M,O:O,Q:Q,R:S").Select Range("R1").Activate Selection.Delete Shift:=xlToLeft ActiveWindow.ScrollColumn = 1 Rows("1:1").Select Selection.Insert Shift:=xlDown Range("A1").Select ActiveCell.FormulaR1C1 = "Nummer" Range("B1").Select ActiveCell.FormulaR1C1 = "Naam1" Range("C1").Select ActiveCell.FormulaR1C1 = "Naam2" Range("D1").Select ActiveCell.FormulaR1C1 = "Adres" Range("E1").Select ActiveCell.FormulaR1C1 = "PCPlaats" Range("F1").Select ActiveCell.FormulaR1C1 = "Land" Range("G1").Select ActiveCell.FormulaR1C1 = "Titel" Range("H1").Select ActiveCell.FormulaR1C1 = "Aantal" Columns("A:A").Select Selection.ColumnWidth = 10 Columns("B:G").Select Selection.ColumnWidth = 40 ActiveWindow.ScrollColumn = 7 Columns("H:H").Select Selection.ColumnWidth = 2 ActiveWindow.ScrollColumn = 1 Range("A1").Select Selection.Sort Key1:=Range("F2"), Order1:=xlAscending, Key2:=Range("H2") _ , Order2:=xlAscending, Key3:=Range("E2"), Order3:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom Application.WindowState = xlMinimized Application.WindowState = xlNormal ActiveWorkbook.SaveAs FileName:= _ "S:\004WNG\Commander Keten\Dataman\Uitvoer 01\KNSticker.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False ActiveWorkbook.SaveAs FileName:= _ "S:\004WNG\Commander Keten\Dataman\Uitvoer 01\KNSticker.csv", FileFormat:= _ xlCSV, CreateBackup:=False Application.DisplayAlerts = False Workbooks.Close Application.DisplayAlerts = True End Sub |
[ Voor 0% gewijzigd door Lustucru op 25-10-2006 14:03 . Reden: code tags ]