Ich verwende BasicMaker Professional 2021 (rev S1054.0924) 64bit.
Ein altbekanntes Problem beim Import einer CSV-Datei in Planmaker ist der Typenwechsel von Zeichenketten in Datums, sofern die Zeichenkette formal auch ein Datum sein könnte (z.B. "25.10"). Im Forum gibt es für ältere Versionen dazu Beiträge.
Beim manuellen Import/Öffnen der CSV Datei kann diese Fehlzuweisung im Textimport-Dialogfenster durch Auswahl der richtigen Trennzeichen und Feldtypen verhindert werden.
Eine zweite Möglichkeit ist das temporäre Ändern der Trennzeichen für Zahlen im Menü Datei/Bearbeiten.
Ich will den Import der CSV-Datei mit BasicMaker automatisieren, und habe im Handbuch keine Möglichkeit gefunden, beim Öffnen der Datei die Feldtypen spaltenweise zu definieren. (pm.Workbooks.Open FileName, [ReadOnly], [Format], [Password], [WritePassword], [Delimiter], [TextMarker] - keine Option für Typen)
Auch bezüglich der zweiten Möglichkeit (Ändern der Trennzeichen für Zahlen in den Einsellungen) wurde ich nicht fündig.
Kann mir bei diesem Problem jemand helfen?
Danke
DK0001
CSV-Import via BasicMaker - Interpretation von Zahlen als Datum
Re: CSV-Import via BasicMaker - Interpretation von Zahlen als Datum
Hallo,
ich bin nicht sicher, aber vielleicht hilft es, vor dem Import das entsprechende Arbeitsblatt komplett als Text zu definieren. Das folgende kurze Beispielskript formatiert die erste Spalte als Text:
Gegebenfalls kann der Formatierungsbefehl über eine Schleife bis pm.ActiveSheet.Columns.Count weitergeführt werden. Auch andere spaltenweise NumberFormatting-befehle sind möglich.
Etwas ist mir noch aufgefallen: Steht in einer nicht explizit formatierten Zelle ein Wert wie z.B. 19.10, so wird bei der Zuweisung von "pmNumberText" eine mir nicht verständliche Zahl erzeugt. Wird die Zelle vorher als Text formatiert und dann 19.10 eingetragen, dann bleibt das so.
ich bin nicht sicher, aber vielleicht hilft es, vor dem Import das entsprechende Arbeitsblatt komplett als Text zu definieren. Das folgende kurze Beispielskript formatiert die erste Spalte als Text:
Code: Alles auswählen
Sub konvertieren
Dim pm as object
Set pm = CreateObject("PlanMaker.Application")
pm.Application.Visible = True
pm.Application.WindowState = 3
pm.ActiveSheet.Columns(1).NumberFormatting = pmNumberText
End Sub
Etwas ist mir noch aufgefallen: Steht in einer nicht explizit formatierten Zelle ein Wert wie z.B. 19.10, so wird bei der Zuweisung von "pmNumberText" eine mir nicht verständliche Zahl erzeugt. Wird die Zelle vorher als Text formatiert und dann 19.10 eingetragen, dann bleibt das so.
Gerhard Etzel
Autor (gerhard-etzel-buch.de). Meine Bücher wurden alle mit Textmaker geschrieben!
Windows 10, SMO NX Universal 64 Bit Prof.
Intel(R) Core(TM) i5, 16 GB Ram
Autor (gerhard-etzel-buch.de). Meine Bücher wurden alle mit Textmaker geschrieben!
Windows 10, SMO NX Universal 64 Bit Prof.
Intel(R) Core(TM) i5, 16 GB Ram