Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Workbooks.Opentext tut nicht was es soll

Workbooks.Opentext tut nicht was es soll
03.08.2015 20:31:07
Stefan
Hallo,
ich beschäftige mich aktuell mit dem Import einer CSV Datei.
Das zeileweise Einlesen dauert zu lange weil die Datei mehr als 2000 Zeilen hat.
Des halb möchte ich Workbooks.Opentext nutzen und die Beschreibung dazu sieht so aus das das auch funktionieren sollte.
Ich nutze folgende Anweisung:
Workbooks.OpenText FileName:=mySource, DataType:=xlDelimited, Semicolon:=True
Die CSV Datei ist im Feld mySource hinterlegt und wird auch geöffnet.
Das Trennzeichen ";" wird aber nicht erkannt/beachtet und damit steht der komplette Datensatz in der ersten Spalte.
Nutze ich folgende Anweisung funktioniert es:
Workbooks.OpenText FileName:=mySource, DataType:=xlDelimited, local:=True
Laut Beschreibung von Microsoft (siehe hier: https://msdn.microsoft.com/de-de/library/office/Ff837097.aspx ) sollten beide Verfahren funktionieren.
Warum nehme ich nicht LOCAL:=TRUE ?
Die Lösung muss auf Rechnern mit verschiedenen Sprachversionen von Office/Windows funktionieren, auf die CSV Datei greifen aber alle diese Nutzer gleichermassen zu.
Wenn ich Local:=True einsetze verhält sich das Makro je nach Sprachversion/Land unterschiedlich und dann funktioniert die Lösung nicht auf allen Rechnern.
Hat jemand eine Idee wie ich die Lösung mit SEMICOLON:=TRUE zum laufen bekommen kann?
Gruss - Stefan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbooks.Opentext tut nicht was es soll
03.08.2015 21:04:12
Sepp
Hallo Stefan,
es gibt auch andere Wege, eine CSV einzulesen. Dabei kommt es aber auf den Aufbau der CSV's an, lade doch eine Beispieldatei hoch (in .txt umbenennen weil .csv mag die Forumssoftware nicht!), dann kann man sicher etwas machen.
Gruß Sepp

AW: Workbooks.Opentext tut nicht was es soll
04.08.2015 19:23:09
Stefan
Hallo Sepp,
danke für Dein Angebot.
Ich habe auch schon zwei andere Lösungen ausprobiert die die Textdatei zeilenweise einlesen und dann in ein Tabellenblatt ablegen. Das hat auch gut funktioniert, wenn man mal von der Zeit absieht die es benötgt hat. Bei 500 Textzeilen mit jeweils 8 Spalten hat es entweder 2:30 oder 0:26 Minuten gedauert.
In Produktion muss ich aber eine Datei mit ca. 3.000 Zeilen und eine zweite mit ca. 20.000 Zeilen lesen. Selbst beim schnelleren Verfahren wären das ca. 20 Minuten Wartezeit - da erschlagen mich meine Anwender
WORKBOOKS.OPENTEXT braucht für die 500 Zeilen Datei max. 2 Sekunden und ist damit unschlagbar schneller.
Es ärgert mich auch das es nicht wie beschrieben genutzt werden kann - das ist mir bisher noch nicht passiert und deshalb suche ich den Fehler bei mir, scheinbar hat Microsoft hier aber wirklich irgendwas verbockt. Ich teste das heute abend auch noch mit Office 2013 um zu sehen ob es dort funktioniert.
Uwe hat vorgeschlagen in die Datei als erste Zeile "sep=;" aufzunehmen.
Ist mir völlig schleierhaft warum das helfen sollte, aber es klappt.
Man lernt eben nie aus.
Danke - Stefan

Anzeige
AW: Workbooks.Opentext tut nicht was es soll
04.08.2015 19:36:24
Sepp
Hallo Stefan,
500 Zeile in 3 Minuten, dann ist etwas am Code faul! Ich hätte den Import per ADO realisiert, ist auch ungemein schnell und flexibel, aber du hast ja jetzt eine funktionierende Lösung.
Gruß Sepp

AW: Workbooks.Opentext tut nicht was es soll
04.08.2015 10:03:39
Uwe
Hallo Stefan,
schreibe in die erste Zeile der CSV-Datei
sep=;
oder bennene die Dateiendung um von csv auf txt.
Gruß Uwe

AW: Workbooks.Opentext tut nicht was es soll
04.08.2015 19:14:13
Stefan
Hallo Uwe,
habe beide Vorschläge mit folgendem Ergebnis getestet:
1) Umbenennung in .TXT
Hat zum gleichen Ergebnis geführt (also nicht funktioniert)
2) Erste Zeile "sep=;"
Egal ob mit Dateiendung CSV oder TXT erkennt WORKBOOKS.OPENTEXT diese erste Zeile und verwendet wie gewünscht das Semikolon als Trennzeichen. Diese erste Zeile wird auch nicht mit übernommen - ist also in der Exceltabelle nicht mehr zu sehen.
Auf diese Lösung wäre ich mit Sicherheit nie gekommen - das steht in keiner Beschreibung zu WORKBOOKS.OPENTEXT.
Tausend Dank
Stefan

Anzeige
AW: Workbooks.Opentext tut nicht was es soll
04.08.2015 19:19:36
Sepp
Hallo Stefan,
mein Vorschlag, die CSV in TXT umzubenennen, bezog sich auf das Hochladen einer Beispieldatei und nicht für den Import!
Gruß Sepp

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige