Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Datei Auswahl für E-Mail Anhang
18.02.2017 15:08:44
Marco
Guten Tag die Herren,
ich habe aktuell folgendes Problem und hoffe das sie mir helfen können.
Ich erstelle aktuell ein Dokument für die Arbeit da leider einige Kollegen nicht in der Lage waren mit der alten Vorlage zu arbeiten, dachte ich mir ich mache es ihnen einfacher ...
Stellte nun aber fest das es für sie sicherlich einfacher wird, aber nicht zwangsläufig für mich ... naja VBA halt als anfänger...
Naja bislang bin ich ganz gut hingekommen - nun brauche ich aber doch ihre hilfe bei folgendem Problem.
Bei uns ist es so das wenn etwas kaputt geht, macht der Schichtleiter eine Schadensmeldung fertig. Diese kann / sollte mit Bildern vom Unfall/Schaden versehen an die entsprechende Mail weitergeleitet werden.
Bislang habe ich alles hinbekommen ... Pflichtfelder, Anhang als PDF in Mail, Namen, Order usw... aber eine Möglichkeit, im selben Ablauf auch noch über eine Userform, Datei als Anhang abzufragen misslingt mir leider.
Ich habe in der Userform
email_form
3 Comboboxen mit jeweiligen Emails.
In diese ComboBox sollen nun auch noch 4x Anhänge welche dann in meiner HauptSub :)
entsprechnd an eine E-Mail gehängt werden sollen.
In der Hauptsub habe ich mir mit folgendem Code die Aktuellen abfragen erstellt:
Sub ExportSendAsPDF()
Dim str_pdfname As String
Dim bool_pdfmsgbox As Boolean
Dim str_path As String
Dim str_date_name As String
Dim str_ws_name As String
Dim str_ask_text As String
Dim str_ask_header As String
Dim str_quest_text As String
Dim str_quest_header As String
Dim str_save_quest As String
Dim str_save_header As String
Dim str_check_text As String
Dim str_check_header As String
Dim objApp As Object
Dim objMailItem As Object
Dim sDatei As String
Dim email_1 As String
Dim email_2 As String
Dim email_3 As String
'DEFINITION DER BENÖTIGTEN TEXTE !
'Header der Fragestellung
str_ask_header = ActiveSheet.Name
'Fragestellung zum Speichern Dynmaisch
str_ask_text = "Möchten sie die Datei nach dem Speichern anzeigen lassen ?"
'Aussage nach dem Speichern
str_quest_text = ActiveSheet.Name & " wurde gespeichert"
'Gespeichert Header
str_quest_header = ActiveSheet.Name
'Definition der Fragestellung zum Speichern
str_save_quest = "Möchten sie die Datei Speichern ?"
'Definitionder des Headers zur Speicherfrage
str_save_header = "Speichern?"
'Definition des Abbruchtextes
str_check_text = "Es wurden nicht alle Pflichtfelder ausgefüllt."
'Definition Header - Check
str_check_header = "Nicht vollständig!"
'Check ob alle Felder ausgefüllt wurden
If ActiveSheet Is Sheets("FFZ-Schaden") Then
If Range("B52") = "Bitte füllen sie alle Pflichtfelder aus !" Then
MsgBox str_check_text, vbOKOnly, str_check_header
Exit Sub
End If
End If
If ActiveSheet Is Sheets("Gebäudeschaden") Then
If Range("B42") = "Bitte füllen sie alle Pflichtfelder aus !" Then
MsgBox str_check_text, vbOKOnly, str_check_header
Exit Sub
End If
End If
If ActiveSheet Is Sheets("Materialschaden") Then
If Range("B42") = "Bitte füllen sie alle Pflichtfelder aus !" Then
MsgBox str_check_text, vbOKOnly, str_check_header
Exit Sub
End If
End If
'DEFINITION DER ORDNER FÜR DIE SPEICHERUNG !
'Prüfen ob die Datei gepseichert werden soll
If MsgBox(str_save_quest, vbYesNo, str_save_header) = vbNo Then
Exit Sub
End If
'Definition der Ordner zur erstellung selbigem Namens
str_path = ThisWorkbook.Path
str_ws_name = ActiveSheet.Name
'Anlegen des Ordners - "Schadensmeldung" wenn im selben Verzeichnis noch nicht vorhanden.
If Dir(str_path & "\" & str_ws_name, vbDirectory) = "" Then
MkDir (str_path & "\" & str_ws_name)
End If
' Ordner erstellen wenn noch nicht vorhanden.
If Dir(str_path & "\" & str_ws_name & "\" & Range("F7"), vbDirectory) = "" Then
MkDir (str_path & "\" & str_ws_name & "\" & Range("F7"))
End If
' Checken ob die Datei nach dem Speichern geöffnet werden soll .
' If MsgBox(str_ask_text, vbYesNo, str_ask_header) = vbYes Then bool_pdfmsgbox = True
' Dateipfad bestimmung in Relation zum Datum
str_pdfname = str_path & "\" & str_ws_name & "\" & Range("F7") & "\" & Range("F17") & "_" &  _
Format(Now, "DD.MM.YY") & "_" & Range("O12") & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=str_pdfname, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=False 'IIf(pdfmsgbox, True, False)
Load email_form
email_form.Show
With email_form
email_1 = email_form.ComboBox1.Value
email_2 = email_form.ComboBox2.Value
email_3 = email_form.ComboBox3.Value
Unload email_form
End With
On Error GoTo Errorhandler
Set objApp = CreateObject("Outlook.Application")
Set objMailItem = objApp.CreateItem(0)
With objMailItem
.to = email_1 & "; " & email_2 & "; " & email_3
.Subject = "F 88 Schadensmeldung - " & str_ws_name
.Attachments.Add str_pdfname
.Display
'.send
End With
Aufräumen:
Set objMailItem = Nothing
Set objApp = Nothing
Exit Sub
Errorhandler:
On Error GoTo 0
MsgBox "Fehler beim Erstellen der Email.", vbCritical, "Fehler"
GoTo Aufräumen
End Sub
Ich hoffe sie können damit etwas anfangen.
Wie gesagt ich möchte eigentlich nur noch unter der UserForm (" email_form")
die möglichkeit bekommen datei auszuwählen mit klick oder wie auch immer - bin da frei .
Danke für ihre mühen.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei Auswahl für E-Mail Anhang
18.02.2017 20:57:31
fcs
Hallo Marco,
ich hab mal auf die Schnelle etwas zusammengestellt.
In deinem Userform "emailform" musst du für die Auswahl der max. 3 zusätzlichen Anhänge 3 Textboxen und 3 Schaltflächen ergänzen. Über die 3 Schaltflächen wird eine Dateiauswahl gestartet und der gewählte Dateiname in die entsprechende Textbox eingetragen.
Im Hauptmakro werden die Werte aus den 3 Textboxen in Variablen eingelesen.
Beim Erstellen der E-Mmail wird geprüft, ob die Variablen verschieden von "" sind und die Datei ggf.an die E-mail angehängt.
Ich hab im Hauptmakro die Anzeige der Userform vorgezogen, so dass ggf. im Userform noch die Erstellung der PDF-Datei und der Versand abgebrochen werden können.
LG
Franz
Beispiel-Datei mit Userform.
https://www.herber.de/bbs/user/111566.xlsm
Anzeige
AW: Datei Auswahl für E-Mail Anhang
19.02.2017 15:23:03
Marco
Schönen Sonntag Franz.
Danke für deine mühen und verzeihung das ich dir nicht einfach die Dokumente mitgeschickt habe.
War mein erste Post und ich gelobe Besserung :)
Aber nun zum deiner Arbeit.
DANKESCHÖN. Es macht genau das was es soll. Einen vermutlichen Schreibfehler habe ich zwar gefunden aber das ist halb so wild.
Du hattest in der UserForm die TextBox3 als TextBox2 deklariert was dafür sorgte das 2 das selbe Feld nutzten.
Aber wie gesagt gefunden. und korrigiert.
Dankeschön
AW: Datei Auswahl für E-Mail Anhang
19.02.2017 18:02:16
Marco
Hey Franz,
ich habe leider nun doch noch 2 kleinigkeiten gefunden die ich gerne ädern würde.
1.
Du beziehst in deiner UserForm die E-Mail adressen aus einem Sheet. Ich würde diese gerne direkt festlegen wollen. Aktuell sind es bei uns 12 Leute die dafür in frage kommen. Zusätzlich dürfen die User auch eigene eintragen ( das funktioniert aktuell ja auch ).
2.
Es sollte nicht Pflicht sein 3 Leute einzugeben - 2 wären ok. 3 Ist in einigen Fällen bei uns Schwierig.
Ich habe dir diesmal auch die aktuelle Version angehängt sodass du dir das nicht selber bauen musst.
Die UserForm ist deine - habe sie Optisch nur etwas angepasst.
Wäre Super wenn du die Dinge noch anpassen könntest - oder mir sagen könntest wie ich dies tue.
In jedemfall ganz lieben Dank.
Marco
https://www.herber.de/bbs/user/111582.xlsm
Anzeige
AW: Datei Auswahl für E-Mail Anhang
19.02.2017 22:32:58
fcs
Hallo Marco,
da du das VBA-Projekt mit Kennwort geschützt kann ich da nichts prüfen/anpassen.
1.
Du beziehst in deiner UserForm die E-Mail adressen aus einem Sheet. Ich würde diese gerne direkt festlegen wollen. Aktuell sind es bei uns 12 Leute die dafür in frage kommen. Zusätzlich dürfen die User auch eigene eintragen ( das funktioniert aktuell ja auch ).

Was meinst du mit "Ich würde diese gerne direkt festlegen wollen." ?
2.
Es sollte nicht Pflicht sein 3 Leute einzugeben - 2 wären ok. 3 Ist in einigen Fällen bei uns Schwierig.

Hier muss dann die Prüfung der Comboboxen im Makro der OK-Schaltfläche anpassen/löschen.
Wenn nicht in allen 3 Comboboxen ausgewählt werden muss, dann muss im Hauptmakro das zusammenfügen der E-Mail-Adresse angepasst werden, da es sonst einne Makro-Fehler gibt.
Gruß
Franz
Anzeige
AW: Datei Auswahl für E-Mail Anhang
22.02.2017 17:56:13
Marco
Danke dir,
Habe es schon entsprechend angepasst.
Ich habe mir in der UserForm einfach 3 Neue Comboboxen erstellt und diese mit AddItem den Direkten Wert zugewiesen. Funktioniert auch wie gewünscht.
Des weiteren habe ich wie du schon geschrieben hast den Code an entsprechender Stelle eingekürzt sodass aktuell nur noch 2 E-Mail Adressen erforderlich sind.
In diesem Sinne
Lieben Dank .

123 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige