Hallo Zusammen,
ich brauche eure Hilfe.
Erstmal, es ist Excel 2003. Hier der Code
Sub Email_an_ADM_senden()
Dim MyMessage As Object, MyOutApp As Object
Dim SavePath As String
Dim aws As String
Dim Sh As Shape
Application.ScreenUpdating = False
'Kopiert aktuelles Sheet in eine neue Mappe welche nur diese Tabelle enthält
ActiveSheet.Copy
'Speichert die Datei unter dem Tabellennamen und einem Zeitstempel
For Each Sh In ActiveSheet.Shapes
If TypeName(Sh.OLEFormat.Object) = "Button" Then Sh.Delete
Next
ActiveWorkbook.SaveAs Filename:="\\de.root.net\Dfs-data\man-teams\Vkid\Infothek\Neukunden an ADM" & "\" & TextBox1 & Format(Now, "ddmmyy_hhmm") & ".xls"
With ActiveWorkbook
aws = .FullName
.Close
End With
'InitializeOutlook
Set MyOutApp = CreateObject("Outlook.Application")
'Nachrichtenobject erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.GetInspector
'Mailadresse An
.to = "ADM HIER EINTRAGEN"
'Hier wird die temporär gespeicherte Datei als Attachment zugefügt
.Subject = "Neukunde " & Sheets(7).TextBox1 & " " & "aus" & " " & Sheets(7).TextBox4 & " " & "aufgenommen am " & Date & " um " & Time & " Uhr"
'Hier wird der Betreff eingefügt
.Attachments.Add aws
'Hier wird die Mail nochmals angezeigt
.display
End With
'MyOutApp.Quit
Set MyOutApp = Nothing
Set MyMessage = Nothing
Application.ScreenUpdating = True
Call TextFelderLeeren
'Hier wird das original Formular geleert
End Sub
Sub TextFelderLeeren()
Dim tbx As OLEObject
For Each tbx In ActiveSheet.OLEObjects
If TypeName(tbx.Object) = "TextBox" Then
tbx.Object.Text = ""
End If
Next
End Sub
Ist Situation:
Er kopiert mir das aktuelle Tabellenblatt und speichert es unter dem o.a. Pfad mit dem Dateinamen als aktuelle Zeit.
Ich möchte aber, dass er mir das Tabellenblatt mit dem Namen speichert, dass in der Textbox1 angegeben worden ist, so wie es weiter unten ist (Betreff). Heißt, Dateiname soll sein wie die Betreffzeile die ich dann per Mail versende.
Danke für eure Hilfe
ich brauche eure Hilfe.
Erstmal, es ist Excel 2003. Hier der Code
Sub Email_an_ADM_senden()
Dim MyMessage As Object, MyOutApp As Object
Dim SavePath As String
Dim aws As String
Dim Sh As Shape
Application.ScreenUpdating = False
'Kopiert aktuelles Sheet in eine neue Mappe welche nur diese Tabelle enthält
ActiveSheet.Copy
'Speichert die Datei unter dem Tabellennamen und einem Zeitstempel
For Each Sh In ActiveSheet.Shapes
If TypeName(Sh.OLEFormat.Object) = "Button" Then Sh.Delete
Next
ActiveWorkbook.SaveAs Filename:="\\de.root.net\Dfs-data\man-teams\Vkid\Infothek\Neukunden an ADM" & "\" & TextBox1 & Format(Now, "ddmmyy_hhmm") & ".xls"
With ActiveWorkbook
aws = .FullName
.Close
End With
'InitializeOutlook
Set MyOutApp = CreateObject("Outlook.Application")
'Nachrichtenobject erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.GetInspector
'Mailadresse An
.to = "ADM HIER EINTRAGEN"
'Hier wird die temporär gespeicherte Datei als Attachment zugefügt
.Subject = "Neukunde " & Sheets(7).TextBox1 & " " & "aus" & " " & Sheets(7).TextBox4 & " " & "aufgenommen am " & Date & " um " & Time & " Uhr"
'Hier wird der Betreff eingefügt
.Attachments.Add aws
'Hier wird die Mail nochmals angezeigt
.display
End With
'MyOutApp.Quit
Set MyOutApp = Nothing
Set MyMessage = Nothing
Application.ScreenUpdating = True
Call TextFelderLeeren
'Hier wird das original Formular geleert
End Sub
Sub TextFelderLeeren()
Dim tbx As OLEObject
For Each tbx In ActiveSheet.OLEObjects
If TypeName(tbx.Object) = "TextBox" Then
tbx.Object.Text = ""
End If
Next
End Sub
Ist Situation:
Er kopiert mir das aktuelle Tabellenblatt und speichert es unter dem o.a. Pfad mit dem Dateinamen als aktuelle Zeit.
Ich möchte aber, dass er mir das Tabellenblatt mit dem Namen speichert, dass in der Textbox1 angegeben worden ist, so wie es weiter unten ist (Betreff). Heißt, Dateiname soll sein wie die Betreffzeile die ich dann per Mail versende.
Danke für eure Hilfe