Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: Alternatives Txt-Einlesen gesucht!!

Alternatives Txt-Einlesen gesucht!!
10.04.2007 12:01:14
Till

Hallo zusammen,
ich experimentiere nun schon seit Tagen mit folgender Einleseroutine (siehe mein Thread hier: https://www.herber.de/forum/archiv/856to860/t858485.htm) herum.
Unter den neueren Excel-Versionen funktioniert das einwandfrei. Leider kommt aus bekannten Problematiken Excel-2000 (siehe auch anderer Thread: https://www.herber.de/forum/archiv/172to176/t173052.htm) nicht mit dem Parameter "TrailingMinusNumbers" zurecht, weshalb dann die Einleseroutine abgebrochen wird.
Das Tool sollte aber problemlos auf allen Excel-Versionen laufen.
Gibt es eine Alternative, die Einleseprozedur dennoch variabel zu gestalten und somit auf allen Office-Paketen durchführen zu können?
Wäre für jede Hilfe dankbar!
Danke schon mal!
Gruß Till

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alternatives Txt-Einlesen gesucht!!
10.04.2007 14:29:31
IngGi
Hallo Till,
dann musst du den Parameter "TrailingMinusNumbers" auf jeden Fall weglassen. Wenn deine Daten keine negativen Zahlen mit nachgestelltem Minuszeichen enthalten, brauchst du den Parameter gar nicht und die Sache ist damit erledigt.
Ansonsten musst du die entsprechenden Spalten nachbereiten. Folgende Codezeilen prüfen z.B. die Daten in Spalte A auf nachgestellte Minuszeichen und wandeln die entsprechenden Daten, die dann ja im Textformat in der Zelle stehen, in negative Werte um.
Dim Daten()
Dim ze As Long
With Workbooks("Mappe1.xls").Sheets("Tabelle1")
Daten = .Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
For ze = 1 To UBound(Daten, 1)
If Right(Daten(ze, 1), 1) = "-" Then
If IsNumeric(Left(Daten(ze, 1), Len(Daten(ze, 1)) - 1)) Then
Daten(ze, 1) = CDbl(Left(Daten(ze, 1), Len(Daten(ze, 1)) - 1)) * (-1)
End If
End If
Next 'ze
.Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row) = Daten
End With
Gruß Ingolf
Anzeige
AW: Alternatives Txt-Einlesen gesucht!!
11.04.2007 10:55:05
Till
Hallo Ingolf,
vielen Dank für den Tipp.
Ich werde mal versuchen, ob das klappt und melde mich noch mal. Deshalb lass ich die Frage noch offen.
Gruß Till
AW: Alternatives Txt-Einlesen gesucht!!
12.04.2007 17:31:10
Til
Hallo Ingolf,
hatte ein wenig länger gedauert mit dem Testen.
Beim Weglassen des Parameters "TrailingMinusNumbers" kommt dann die Fehlermeldung "1004, Die Methode 'OpenText' für das Objekt 'Workbooks' ist fehlgeschlagen"
Was mach ich nun?
Evtl. geht 'OpenText' gar nicht unter Office2000?
Oder wie kann man das Problem trotzdem lösen!
Hier noch mal der Code, wo die Fehlermeldung auftaucht:

Option Explicit
Private Const cPath As String = "\\172.16.3.3\archiv_video\Polling Data\"   'Konstante  _
Pfadvorgabe
Sub Strasse(ByVal SubFolder As String)
On Error Resume Next
Dim strFile As String
Dim objName1_1 As Range
Dim rngF1_1 As Range
Dim rngK1_1 As Range
Dim rngUnion1_1 As Range
Dim MyWidth As Single, MyHeight As Single
Dim NumWide As Long
Dim iChtIx As Long, iChtCt As Long
Dim Zeile2 As Integer, MyList(2836, 4), r As Integer, i As Integer, wksListe As Worksheet
If Not ActiveWorkbook Is ThisWorkbook Then ActiveWorkbook.Close False
For i = 9 To 0 Step -1
strFile = cPath & SubFolder & Format(ThisWorkbook.Sheets("Tabelle1").Range("a1"), " _
yyyymmdd") _
& "_" & i & ".txt"
If Dir(strFile) <> "" Then Exit For
Next i
If i > 9 Then
MsgBox "Keine Betriebsmeldungen zu diesem Querschnitt vorhanden", vbInformation, " "
Exit Sub
End If
If Dir(strFile) = "" Then
MsgBox "Keine Betriebsmeldungen zu diesem Querschnitt vorhanden", vbInformation, " "
Exit Sub
End If
On Error GoTo ErrExit
GetMoreSpeed
Workbooks.OpenText _
Filename:=strFile, _
Origin:=1250, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 9), _
Array(3, 9), Array(4, 9), Array(5, 2), Array(6, 2), Array(7, 9), Array(8, 1), Array(9, 9), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14, 9), Array(15, 9), Array( _
16, 9), Array(17, 9), Array(18, 9), Array(19, 9), Array(20, 9), Array(21, 9), Array(22, 9), _
Array(23, 9), Array(24, 1))
' blah blah
End Sub

Danke Gruß Till
Anzeige
AW: Alternatives Txt-Einlesen gesucht!!
12.04.2007 17:34:00
Til
Hatte vergessen die Frage als noch offen zu kennzeichnen, was ich hiermit getan hab!
Hoffentlich könnt ihr mir helfen!
Danke!
Gruß Till
AW: Alternatives Txt-Einlesen gesucht!!
12.04.2007 18:41:37
IngGi
Hallo Till,
ob es in Office2000 bereits die OpenText-Methode gab, weiß ich nicht. Aber ich habe noch einen Fehler innerhalb der Parameter für diese Methode entdeckt. Du weist dem Parameter "Origin" (Dateiursprung) den Wert 1250 zu. "Origin" kann aber nur die Werte
1 - für Macintosh
2 - für Windows
3 - für MSDOS
annehmen. Korrigier das mal und schau, ob's dann läuft.
Gruß Ingolf
AW: Alternatives Txt-Einlesen gesucht!!
13.04.2007 14:30:19
Til
Hallo Ingolf,
ich war gerade auf dem Office2000 Rechner, den ich remote ansteuere, und hab hier mal ein Makro zum Öffnen der Text-Datei aufgezeichnet.
Das ist dabei rausgekommen.

ChDir _
"\\172.16.3.3\archiv_video\Polling Data\040468FFFC6A740E\aktuell_Linie_2021_25012007"
Workbooks.OpenText Filename:= _
"\\172.16.3.3\archiv_video\Polling Data\040468FFFC6A740E\aktuell_Linie_2021_25012007\ _
20070411_1.txt" _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:= _
True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array( _
1, 1), Array(2, 9), Array(3, 9), Array(4, 9), Array(5, 2), Array(6, 2), Array(7, 9),  _
Array(8, _
2), Array(9, 9), Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14, 9),  _
Array _
(15, 9), Array(16, 9), Array(17, 9), Array(18, 9), Array(19, 9), Array(20, 9), Array(21, _
9), _
Array(22, 9), Array(23, 9), Array(24, 9))
Danach hab ich das ganze wie folgt angepasst (alles, was eh "false" ist einfach weggelassen), sowie die Pfadangabe geändert, da sich mein Pfad ja entsprechend einer Combobox-Auswahl immer ändern kann.

Workbooks.OpenText Filename:=strFile, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
Semicolon:= True, _
FieldInfo:=Array(Array( _
1, 1), Array(2, 9), Array(3, 9), Array(4, 9), Array(5, 2), Array(6, 2), Array(7, 9),  _
Array(8, _
2), Array(9, 9), Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14, 9),  _
Array _
(15, 9), Array(16, 9), Array(17, 9), Array(18, 9), Array(19, 9), Array(20, 9), Array(21, _
9), _
Array(22, 9), Array(23, 9), Array(24, 9))
Auf meinem Office2003-Rechner läuft das (immer noch!) einwandfrei.
Bei dem (doofen!) Office-2000-Rechner kommt dann die Fehlermeldung:
"Anwendungs oder Objektdefinierter Fehler".
Was läuft da immer noch falsch? Ich hoffe, Du (oder jemand anderes aus diesem Forum?!) weißt zumindest noch weiter?!
Danke schon mal!
Gruß Till

Anzeige
AW: Alternatives Txt-Einlesen gesucht!!
13.04.2007 15:12:11
IngGi
Hallo Till,
mir fällt jetzt leider (fast) nichts mehr ein. Außer: Schau doch mal in der Hilfe von Office2000 nach, ob vielleicht einer der Parameter, die du rausgeschmissen hast (ich denke da vor allem an "Origin") in dieser Version noch nicht optional war. Ansonsten muss ich leider passen.
Gruß Ingolf

AW: Alternatives Txt-Einlesen gesucht!!
13.04.2007 16:49:47
Til
Hallo Ingolf,
ich hab jetzt mal wieder alle Parameter reingenommen. Das war's leider immer noch nicht.
Leider kommt da immer noch die Fehlermeldung "Anwendungs- oder Objektdefinierter Fehler"... Wieso???
Hab zum besseren Verständnis mal die Dateien hochgeladen (https://www.herber.de/bbs/user/41743.zip
), damit Du es selbst vielleicht auch mal testen kannst.
Dazu einfach die txt-Datei in den Ordner "C:\Polling_Data\040468FFFC6A740E\aktuell_Linie_2021_25012007\" stecken und dann den Querschnitt "St.-Franziskus" vom 13.02.07 auswählen.
Das Makro, was "bockig" ist, liegt unter dem Modul "Oplogging".
Vielleicht fällt Dir so ja noch was ein!?! ;-)
Danke schon mal!
Gruß Till
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige