Zum Inhalt springen

VB-Script für Excel


Sillec

Empfohlene Beiträge

Hallo zusammen.

Ich kenne mich leider nicht mit VB aus und hoffe daher das ihr mir weiterhelfen könnt.

Automatisierung:

Ich muss regelmäßig eine eingehende CSV-Datei aus einem bestimmten Ordner mit Excel einlesen und im gleichen Format in einen anderen Ordner speichern.

Anschließend soll diese geöffnete Mappe wieder geschlossen werden.

Wichtig ist bei dieser ganzen Sache das die Datei ebenfalls wieder als CSV gespeichert wird.

Grund für diese Automatisierung:

Mehrmals am Tag bekomme ich Emails mit CSV-Dateianhang. Da die Formatierung der Datei noch nicht ganz korrekt ist muss diese mit Excel geöffnet werden. Sobald dies gemacht wird ist die Formatierung direkt korrekt und daher kann die Datei wieder im gleichen Format gespeichert werden.

Lässt sich da etwas mit dem VB-Editor in Excel lösen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mehrmals am Tag bekomme ich Emails mit CSV-Dateianhang. Da die Formatierung der Datei noch nicht ganz korrekt ist muss diese mit Excel geöffnet werden. Sobald dies gemacht wird ist die Formatierung direkt korrekt und daher kann die Datei wieder im gleichen Format gespeichert werden.

Es wäre sinnvoll zu wissen, worin der Unterschied besteht. Denn nur eine CSV in Excel öffnen und wieder speichern, dafür muss ich nicht den Overhead über Excel haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die CSV-Datei wird über ein Industriemodem an den Rechner geschickt.

Diese CSV Datei benötigt eine bestimmte Formatierung damit eine Datenbank diese automatisch einlesen kann.

Das Problem ist das man im Modem die Formatierung nicht ändern kann und die Datenbank eine Fremdsoftware ist.

Die zugeschickte Datei hat in der Mappe ein Zeitformat wie zB 2009/09/07 und ich benötige aber 07.09.2009.

Wenn ich die Datei mit Excel öffne setzt er das Format direkt richtig.

Daher diese Automatisierungsgeschichte.

Auf Grund der vielen Dateien die über den Tag hinweg eingehen ist eine manuelle Lösung nicht gerade befriedigend.

Ich hoffe es ist nun verständlicher.

Sollte es eine einfachere Lösung in diesem Fall geben, wäre ich doch sehr erfreut.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die zugeschickte Datei hat in der Mappe ein Zeitformat wie zB 2009/09/07 und ich benötige aber 07.09.2009.

Wenn ich die Datei mit Excel öffne setzt er das Format direkt richtig.

Daher diese Automatisierungsgeschichte.

Ich empfehle Windows Script Host ? Wikipedia

Ich würde entsprechend das Programm so lösen:

Das Script bekommt den Ordner mit, in denen die Dateien sind. Es durchläuft alle Dateien, öffnet sie, verändert Zeilenweise das Datum. Man kann zeilenweise via regulärer Ausdrücke nach dem Muster xxxx/xx/xx suchen und dieses dann umformatieren. Die geänderten Zeilen entsprechend in eine temporäre Datei schreiben und nach Abschluss gegen die alte ersetzen bzw. die neu erzeugten Dateien unter anderem Namen abspeichern (somit würden die Originaldatein erhalten bleiben)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zeilen muss ich ja noch nicht einmal ändern, da Excel dies automatisch wohl macht.

Ungeöffnet sind die Zeit & Datumszeilen noch mit falscher Formatierung aber sobald ich es öffne sind diese richtig.

Daher muss Excel eigentlich nur automatisch Dateien mit csv-Endung, die in einem bestimmten Ordner liegen, automatisch öffnen und dann speichern.

Excel sollte natürlich geöffnet bleiben, da weitere Dateien folgen.

Das ich alles optisch auf dem Rechner mitbekomme ist nicht wichtig, da er ansonsten nicht genutzt wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Funktioniert es, das Excel immer nur bislang ungelesene Dateien öffnet?

Nein. Weil es kein Attribut in der Datei gibt "gelesen" bzw "nicht gelesen".

Das ganze mit Excel zu machen ist einfach mit "Kanonen auf Spatzen geschossen". Und Excel wird es ohne Dein Zutun auch nicht von alleine machen. Da es hier um reine Textdateien geht, kann man das auch selbst implementieren. Entweder Du machst es rein auf Windows Scripting oder eben ein kleines Programm, in C++, PHP, Perl, ...

Ich denke, das kann man in ein paar Zeilen Code lösen. Ich würde ein C++ Programm schreiben, dass dann in bestimmten Intervallen das Verzeichnis durchläuft, die Dateien verarbeitet und die geänderten Dateien in ein anderes Verzeichnis schreibt und danach die Originaldateien löscht

Ich würde aber mal über ein Datenbankkonzept bei so etwas nachdenken

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...