myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Exel VBA E-mail Generieren

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 10.07.13, 14:48   #1
St4R
Anfänger
 
Registriert seit: Jul 2009
Beiträge: 10
Bedankt: 0
St4R ist noch neu hier! | 0 Respekt Punkte
Standard Exel VBA E-mail Generieren

Hallo Gemeinde,

Ich möchte aus einem Exelsheet gerne eine Email erzeugen lassen. Diese soll folgendermaßen aufgebaut sein.

Das Sheet dient als Bestellformular.Es Wird immer in eine Zeile, der Artikel, die Stückzahl und automatisch der Lieferant und Bestellnummer eingetragen (über Sverweis aus einer Datenbank). Den Status setzt der Bestellvorgang auslösende (Mensch). Wäre natürlich ganz cool wenn der Status automatisch angepasst wird, also von Offen auf Bestellt, sobald die Mail genriert wurde.
Nun soll Eine Mail erstellt werden die die Artikel an einen Liferanten ausfiltert und die Artikel in einer Mail auflistet. Der Empfänger soll ebenfalls schon eingetragen werden und ist in einem weiteren sheet aufgeführt. Könnte aber auch über Sverweis in einer neuen Spalte eingefügt werden. Die Funktion wird dann über einen Button gestartet der z.b. Heisst "Bestellung Huber" Generieren. Es wird Outlook verwendet.

Hier ein Beispiel:

Anzahl: Artikel: Bestellnummer: Lieferant: Status:
1 Bleistift 1001 Huber Offen
1 Radiergummi 2001 Lempke Offen
1 Buntstift Rot 3025 Huber Bestellt
2 Buntstift Blau 4512 Huber Offen


Die e-mail soll dann wie folgt aussehen:

Empfänger: [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Betreff: Bestellung

Inhalt:

Hiermit möchte ich folgendes Bestellen:

Stückzahl: Artikel: Bestellnummer:
1 Bleistift 1001
2 Buntstift Blau 4512

Mit Freundlichem Gruss,

Max Mustermann

Ist sowas mit Exel möglich ?
Ich weis, dass das sehr komplex ist.
Vielen Dank schonmal für die Mühe.
St4R ist offline   Mit Zitat antworten
Ungelesen 10.07.13, 16:50   #2
ProgMaster
Banned
 
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
ProgMaster ist noch neu hier! | 0 Respekt Punkte
Standard

Ohne dreckiges Hacken und unsinnige S*****e ist das nicht möglich.

Mails kann man nicht einfach so verschicken.
Eine echte Lösung zu implementieren würde deutlich schneller gehen.
ProgMaster ist offline   Mit Zitat antworten
Ungelesen 10.07.13, 19:14   #3
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

Hi...
jetzt bist du aber auf den Geschmack gekommen...

Also das geht natürlich schon, gibt aber zuweilen Zugriffsprobleme und das eingefügte sieht auch nicht wirklich gut aus, weil die Tabellenform verloren geht... das ist zwar alles hinzubekommen, aber das ist mir doch zu aufwändig...

Trotzdem hier ein kleines Beispiel...
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
also am Besten wäre es, wenn Outlook schon geöffnet ist, sonst speichert es nur die Mail und sie wird erst mit dem nächsten Senden versendet...
In B1 die email-addi eingeben
In B2 den Betreff
Beim Klicken auf den "Email öffnen"-Button wird automatisch der Bereich von A4 bis Spalte E und der höchsten nichtleeren Zeile in Spalte A markiert... dann öffnet sich eine leere email mit der Adresse und dem Betreff... jetzt in der Mail einfach auf "Einfügen" klicken, dann kannst du das nochmal checken und mit "Senden" isses weg...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 10.07.13, 19:31   #4
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

Moment...

... wer soll das Excel-Sheet bekommen und die Bestellung abschicken?
Der Kunde?
Und wer ist der Kunde?
Wo sitzt der Kunde?
Woher kommen die Daten?

Die Outlook-Lösung würde nur funktionieren, wenn alles NICHT über das Internet erreichbar ist und der Kunde Outlook und ein entsprechenden Mailzugang besitzt!

Das ist hier an keiner Stelle erwähnt.
Eine Lösung kann man hier also gar nicht anbieten, da zuviele Fragen nicht beantwortet sind.
NetWebs ist offline   Mit Zitat antworten
Ungelesen 10.07.13, 19:41   #5
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

@NetWebs
St4R ist der Kunde, weil er bestellt...
Email-Empfänger kann er in Excel beliebig eingeben...
Die Bestelldaten kann er in Excel beliebig eingeben...

Wenn sein Lieferant keine Email hätte, würde er nicht über Email bestellen und Outlook braucht der Empfänger auch nicht...

Du verkomplizierst das hier gerade ein wenig...

@St4r
Achso... das mit den nur offenen Bestellungen wäre dann das kleinste Problem und den Status könnte man natürlich auch gleich mit ändern... ich werde da morgen noch ein bisschen dran rumspielen...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 10.07.13, 21:25   #6
spartan-b292
Echter Freak
 
Benutzerbild von spartan-b292
 
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.857
Bedankt: 1.700
spartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punktespartan-b292 leckt gerne myGully Deckel in der Kanalisation! | 230828 Respekt Punkte
Standard

Ich konnte mir deinen Code jetzt nicht angucken aber, der TE hat geschrieben, dass die Daten über eine Datenbank reinkommen hast du daran gedacht?

Davon mal abgesehen ist so ne Lösung über VBA doch Mist. Was passiert wenn die Office Version geändert wird? Was passiert wenn die Outlookversion geändert wird? Funktioniert dann noch alles?

Da bist du, wie Progmaster schon angemerkt hat, mit einer selbst implementierten (=>sauberen) Lösung tausendmal besser bedient.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
spartan-b292 ist offline   Mit Zitat antworten
Ungelesen 11.07.13, 09:28   #7
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

@spartan-b292

Im Großen und Ganzen hast du (und natürlich auch ProgMaster) Recht, dass es da mit Sicherheit bessere Lösungen gibt...

Und ich schrieb auch schon, dass es zu Zugriffsproblemen kommen kann und das, wenn es auch schön aussehen soll, eine ziemlich verzwickte Schleife braucht, um einen bestimmten Bereich direkt in die Mail zu kopieren...

Bei einer neuen Office Version wird doch vermutlich Excel und Outlook gleichzeitig erneuert... obwohl... man weiß natürlich nie...

Wenn die Daten über Sverweis vorliegen, sollte es keine Probleme geben. Wenn sie zusätzlich aus einer Datenbank kommen, bin ehrlich gesagt überfragt, ob es funzt... Ich denke aber schon, weil ich ja quasi per Hand kopiere...

Meine Beispieldatei aus Post 3 ist ja auch sehr abgespeckt... Es öffnet quasi nur eine leere email...

Allerdings war die Grundfrage, ob das mit Excel überhaupt geht und da hat es in mir ein bisschen den Forschergeist geweckt...

EDIT: so.... hier nun eine etwas angepasste Version... beim Klicken auf "Email öffnen", wird keine Email versandt... also man kann das etwas ausprobieren und testen... in der offenen Email auf "Einfügen" wird die Bestellung eingefügt... dann bei Bedarf auf "Senden"... quasi wie schon oben beschrieben...

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Ungelesen 11.07.13, 15:38   #8
Erebos76
Ist öfter hier
 
Benutzerbild von Erebos76
 
Registriert seit: Sep 2010
Beiträge: 276
Bedankt: 280
Erebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt PunkteErebos76 leckt gerne myGully Deckel in der Kanalisation! | 332975 Respekt Punkte
Standard

Falls Du eine Mail über Outlook versenden willst, kann Dir der Code hier vielleicht weiterhelfen. Er stammt aus einer Datenbank, die ich mal programmiert habe. Insofern musst Du ihn noch anpassen und auf Zellen ("Range") in Excel umstellen. Da Du mit SVerweis arbeitest, ist es wohl keine Datenbank, sondern ein Tabellenblatt mit vielen Daten.

Der Code erstellt eine Mail und füllt die Daten Empfänger, CC, BCC, Betreff, Inhalt aus. Diese werden als String bzw. Outlook.Recipient an die Funktion übergeben. Nach Erstellen musst Du noch auf "Senden" klicken. Outlook erlaubt keinen automatisierten Zugriff auf den Mailversand. Es wird vielmehr ein Bestätigungsfenster eingeblendet, daß der Benutzer erst nach 10sec. glaube ich bejahen kann.

Offen steht dann noch, wie Du die Daten in Deiner Mail formatierst. Mit vbTab oder Chr(9) sollte man das aber etwas recht ordentliches hinbekommen. Denkbar ist auch, aus der Tabelle ein pdf zu erzeugen, bspw. mit PDFXChange, und dieses anzuhängen. PDFXChange erlaubt einen recht guten Zugriff via Startparameter.

Have fun.

Erebos76 ist offline   Mit Zitat antworten
Ungelesen 11.07.13, 17:07   #9
eitch100
Agnostiker
 
Benutzerbild von eitch100
 
Registriert seit: Dec 2009
Beiträge: 4.203
Bedankt: 4.438
eitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkteeitch100 leckt gerne myGully Deckel in der Kanalisation! | 1104671402 Respekt Punkte
Standard

@erebos76
TE hat leider 0 Plan von VBA... daher wird er es sich nicht anpassen können....

Dieser Code kopiert z.B. den markierten Bereich in eine email... und wenn Outlook geöffnet ist, kann man anstatt .Display auch .Send verwenden, damit es sofort verschickt wird...


In meiner Beispieldatei aus dem vorletzten Post kann er sich über ein Dropdown einen Lieferanten auswählen... Email und Betreff werden automatisch in die Email übernommen... mit Klick auf "Email öffnen", werden alle offenen Bestellungen des gewählten Lieferanten kopiert, der Status von "offen" auf "bestellt" geändert und unter "bestellt am:" das Bestelldatum eingetragen... den einen Klick auf "Einfügen" in der geöffneten Mail wird er verkraften...
__________________
Der Klügere gibt nach... deshalb regieren die Dummen die Welt
eitch100 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 Uhr.


Sitemap

().