Daten automatisch speichernn?

Hallo.

Jetzt eeiinmal eine ganz spezielle Frage.
Ist es möglich (Wenn ja, wisst ihr wie), das ich ein Formuserfeld habe, und wenn ich eine Exceldatei darauf ziehe (z.B. Vom Arbeitsplatz), das diese dann automatisch z.B. Unter den Namen Datei1 gespeichert wird?

Danke

Ist es möglich (Wenn ja, wisst ihr wie), das ich ein
Formuserfeld habe, und wenn ich eine Exceldatei darauf ziehe
(z.B. Vom Arbeitsplatz), das diese dann automatisch z.B. Unter
den Namen Datei1 gespeichert wird?

Hallo Anton,

was ist ein „Formuserfeld“?
Ein Textfeld auf einer Userform?

Du bist im Explorer im „Ordner“ Arbeitsplatz und willst da eine datei in das Textfeld der Userform ziehen?

Gruß
Reinhard

Hallo.
Ja, ich meinte Userform (Keine Ahnung wie ich auf Formuser gekommen bin).

Also genauer gesagt, ich bekomme per E-Mail Excel Listen, welche ich ins Programm einlesen lassen möchte.
Bis jetzt gehe ich so vor.
Ich öffne die bekommene Excel Tabelle, und speichere sie unter „Aviso“ ab.
Danach starte ich mein Excel Programm, drücke ein Button, und die Aviso Datei wird ausgelesen.

Das ist halt ein wenig unpraktisch so.
Besser währe es, wenn ich die Datei aus der E-Mail direkt in ein Userform Feld ziehen könnte, und mein Programm es gleich automatisch ausliest.

Danke schon mal.

Wünsche ein schönes Wochenende.

Hallo Anton,

Ich öffne die bekommene Excel Tabelle, und speichere sie unter
„Aviso“ ab.
Danach starte ich mein Excel Programm, drücke ein Button, und
die Aviso Datei wird ausgelesen.

Wenn du die Datei schon geöffnet hast, warum speicherst du sie dann ab um sie gleich danach auszulesen?
Was genau ist mit auslesen gemeint?

Das ist halt ein wenig unpraktisch so.

So wirkt es :smile:

Besser wäre es, wenn ich die Datei aus der E-Mail direkt in
ein Userform Feld ziehen könnte, und mein Programm es gleich
automatisch ausliest.

Welches Emailprogramm, Outlook?

Gibt es da keine Nachrichtenregel die Dateianhänge ankommender E-mails gleich in einen Ornder abzuspeichern?

Outlook kann auch Vba. Es kennt auch Ereigniscode, also automatischer Code der bei einem Ereignis wie einer neuen Mail ausgeführt wird.
Ich hatte auch schon hier bei w-w-w entsprechenden Code gezeigt, weiß aber nicht mehr in welchem Brett.

Google mal nach
private Sub Application_NewMail()

Nachfolgend ist Code aus der Outlook-VBA Hilfe der anscheinend in ein Klassenmodul gehört und der auf neue Mails reagiert.
Den Code muß man wahrscheinlich nur umstricken, sodaß er aus jeder neu ankommenden Mail die dateianhänge nimmt und wenn sie xls- Dateien sind in einen bestimmten Ordner, von mir aus mit einem bestimmten namen abspeichert, dann Excel startet und die Datei öffnet oder ausliest wie du das wünschst.

Aber mir ist Outlook noch zu fremd um das zu tun, weil es einfach uneffektiv sehr lange zeit verschlingt. Wenn müßtest du den Code selbst zusammenbasteln oder mir nen Scheck schicken :smile:

Gruß
Reinhard

Beispiel zum NewMail-Ereignis

In diesem Beispiel wird der Ordner Posteingang angezeigt, wenn eine oder mehrere neue Nachrichten eingegangen sind. Der Beispielcode muss sich in einem Klassenmodul befinden, und die Initialize\_handler-Routine muss aufgerufen werden, bevor Microsoft Outlook die Ereignisprozedur aufrufen kann.

Dim WithEvents myOlApp As Outlook.Application

Sub Initialize\_handler()
 Set myOlApp = CreateObject("Outlook.application")
End Sub

Private Sub myOlApp\_NewMail()
 Dim myExplorers As Outlook.Explorers
 Dim myFolder As Outlook.MAPIFolder
 Set myExplorers = myOlApp.Explorers
 Set myFolder = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
 If myExplorers.Count 0 Then
 For x = 1 To myExplorers.Count
 On Error GoTo skipif
 If myExplorers.Item(x).CurrentFolder.Name = "Inbox" Then
 myExplorers.Item(x).Display
 myExplorers.Item(x).Activate
 Exit Sub
 End If
skipif:
 Next x
 End If
 On Error GoTo 0
 myFolder.Display
End Sub

Danke schon mal.

Wünsche ein schönes Wochenende.

Hallo Reinhard.
Ich lasse die Datei in zwei extra Dateien abspeichern, welche mein Hauptprogramm zu verschiedenen Zeiten benötigt, deshalb muss ich die Datei auch von Excel einleen lassen.

Ich speichere alle unter den Namen Aviso, da alle Dateien eine eigene Struktur und anderen Namen haben.
Dadurch, das ich jede unter Aviso speichere, wird diese Datei geöffnet, und aus der Datei wird dann ausgelesen, unter welchen Namen die Aviso Date gespeichert wird (Beispiel Firmenname und Datum).
Nachdem das Programm dies gemacht hat (Natürlich hat es die benötigte Strucktur gleich auf die zwei Dateien aufgeteilt), kann ich die nächste Datei unter Aviso speichern, da die vorherige schon übernommen wurde.

Deshalb würde es von Vorteil sein, wenn ich es einfach hinziehe und das Programm erledigt es von alleine.

Das mit den Scheck würde ich gerne mal machen (Da du mir wirklich schon sehr oft geholfen hast, nur bekomme ich dafür leider auch kein Geld.
Ich mache das Hauptsächlich, da es mir sehr viel Spaß macht, und weil man so am meissten lernt.

Danke für deine Antwort.

Hallo Anton,

Ich lasse die Datei in zwei extra Dateien abspeichern, welche
mein Hauptprogramm zu verschiedenen Zeiten benötigt, deshalb
muss ich die Datei auch von Excel einleen lassen.

wieso zwei Dateien? Was liest du da ein?

Ich speichere alle unter den Namen Aviso, da alle Dateien eine
eigene Struktur und anderen Namen haben.

Also jede neue datei überschreibt die alte Aviso?
Und sie heißt Aviso, nicht Aviso.xls?

Dadurch, das ich jede unter Aviso speichere, wird diese Datei
geöffnet, und aus der Datei wird dann ausgelesen, unter
welchen Namen die Aviso Date gespeichert wird (Beispiel
Firmenname und Datum).

? Wenn du eine Datei unter dem Namen Aviso abspeicherst so heißt sie so.
Oder ist Aviso kein beliebiger Name sondern ein Programm oder sowas?

Nachdem das Programm dies gemacht hat (Natürlich hat es die
benötigte Strucktur gleich auf die zwei Dateien aufgeteilt),

? Mir unklar.

Das mit den Scheck würde ich gerne mal machen (Da du mir
wirklich schon sehr oft geholfen hast, nur bekomme ich dafür
leider auch kein Geld.

*fluch* :smile:)

Gruß
Reinhard

Hallo Reinhard.

Wieso ich die Datei in zwei Dateien aufteile:
Das Aviso, welches ich per Mail bekomme, enthällt folgendes:
Namen des Lieferanten, das voraussichtliche Anlieferdatum, Das Gesammtgewicht, und die Anzahl der Packstücke (Diese Speichere ich in die erste Datei (Diese heißt: Vorgabe.xls)).
Weiters enthällt die Datei noch die Artikelnummern, der angelieferten Packstücke, und, welche davon bei uns auf Lager bleiben, und welche schon vom Kunden bestellt wurden (Diese Daten Speichere ich in der zweiten Datei (diese heißt : Anlieferungen.xls))

Wir bekommen die Avisos einige Tage bevor die Anlieferung erfolgt.
Ich lasse jetzt alle Avisos, die ich bekomme vom Programm einlesen.
Wenn dann eine Liferung erfolgte, braucht der Mitarbeiter (wer den LKW entladen hat) nur in das Excel Programm gehen, und mittels Auswahlfeld Userform -> Combobox den gewünschten Lieferanten heraussuchen, womit die Daten (Anlieferzeitpunkt, Gewicht, Packstückanzahl) in einer Liste gespeichert werden, und gleichzeitig wird diese Zeile (Von den soeben genannten Lieferanten aus der Datei „Vorgabe“ glöscht, so das beim nächsten mal dieser nicht mehr zum anwählen möglich ist.
Die Daten in Anlieferung.xls bleiben aber in der Datei (Diese benötige ich dann zu einnem späteren Zeitpunkt (in einem Programmteil, welchen ich noch nicht geschrieben habe)

> Also jede neue datei überschreibt die alte Aviso?
> Und sie heißt Aviso, nicht Aviso.xls?
Wie gesagt, ich nehme jetzt jede Datei die ich per Mail bekomme und speichere sie unter Aviso.xls ab.
(Beispiel: Ich bekomme mit einer MAil 2 Anhänge (2 verschiedenen Avisos). Ich öffne das erste, und speichere es unter Aviso.xls ab und starte mein Programm „Lagerverwaltung.xls“ und lasse die Datei einlesen.
Sobald dies geschehen ist, öffne ich die zweite Datei (Anhang von der Mail) und speichere diese ebenfalls unter Aviso.xls ab (überschreibe die vorherige, da ich sie nicht mehr benötige, weil Excel sie schon eingelesen hat. Und starte dann wieder das Lagerverwaltungsprogramm und lasse die Datei wieder einlesen usw…

> ? Wenn du eine Datei unter dem Namen Aviso abspeicherst so heißt sie so.
> Oder ist Aviso kein beliebiger Name sondern ein Programm oder sowas?
Wie gesagt, Aviso.xls ist eine Excel Datei.
Mein Programm sucht dann den Lieferanten und das Anlieferdatum, und speichert diese Datei dann ab.
Beispiel
Nemetz 12042009.xls (Name des Lieferanten + Anlieferdatum)

Ich hoffe, das ich mich jetzt verständlicher ausgedrückt habe.

Mfg Anton