Topic
ImportSettings and VBA
Startseite ' Community ' Automation and VBA ' ImportSettings and VBA
Schlagwörter: VBA Import ImportSettings ItemFilterName ItemSelection
- Dieses Thema hat 3 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 4 Jahren, 3 Monaten von Bernhard Kantz aktualisiert.
-
AutorBeiträge
-
10.02.2021 um 15:59 Uhr #35257Thomas HUelsingTeilnehmer
Mein Ziel ist den Import von CSV-Files zu automatisieren und dabei nur Spalten zu importieren, die keinen Text enthalten, also nur Spalten mit Zahlen.
Dabei möchte ich das neue Feature von FlexPro 2019 nutzen, die “ImportSettings”.
Als Beispiel soll folgendes CSV-File eingelesen werden:
Spalte1;Spalte2;Spalte3;Spalte4;Spalte5
4711.23;Test 27;3.141;True;1
8912.45;Test 28;2.70987;False;0Es sollen nur die Spalten “Spalte1”, “Spalte3” und “Spalte5” eingelesen werden.
Es tritt jedoch der Fehler “80004005” auf wenn folgender Code läuft (als Beispiel):
ActiveDatabase.ImportSettings.Reset
ActiveDatabase.ImportSettings.ItemFilterName = “@#_Spalte1;Spalte3;Spalte5”
ActiveDatabase.ImportSettings.ItemSelection = fpItemSelectionFilter
ActiveDatabase.ImportSettings.DataRange = fpDataRangeComplete
ActiveDatabase.RootFolder.Import “Filename.csv”, “complete (*.csv)|*.csv”Wo steckt der Fehler?
FlexPro2019, Version 12.0.6 – 64 Bit
10.02.2021 um 16:06 Uhr #35258Thomas HUelsingTeilnehmerFehler gefunden:
ActiveDatabase.RootFolder.Import “Filename.csv”, “MyTest (*.csv)|*.csv”
Entscheidend ist ein existierendes Template oben ‘complete’, hier ‘MyTest’
… jetzt funktioniert es!!
10.02.2021 um 16:30 Uhr #35259Thomas HUelsingTeilnehmerEs gibt doch noch ein entscheidendes Problem, da der ImportFilter dennoch nicht funktioniert.
Es werden immer noch “alle” Spalten eingelesen.
D.h. die Zeile:
ActiveDatabase.ImportSettings.ItemFilterName = “@#_Spalte1;Spalte3;Spalte5”
scheint nicht zu funktionieren, obwohl in der Zeile
ActiveDatabase.ImportSettings.ItemSelection = fpItemSelectionFilter
der ItemSelectionFilter ausgewählt ist.Irgendwo gibt es noch ein Problem!! Nur wo??
11.02.2021 um 08:37 Uhr #35260Bernhard KantzTeilnehmerDieser “Hack” mit der expliziten Angabe der Spaltennamen als Name eines Kanalfilternamens wurde erst in Release 12.0.14 implementiert.
In der nächsten Hauptversion FlexPro 2021 wird es einen eigenen Parameter für die Importfunktion geben, mit dem man die gewünschten Kanäle angeben kann.
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.