Per Commandbutton speichern und senden

Hi Leute,

Ich bin gerade dabei ein Excel File zu schreiben das per
Commandbutton Click das File speichert und gleich per mail sendet
Das was ich mir zusammengepuzzelt habe funktioniert wenns gut
geht einmal ab dann nur noch laufzeitfehler und debuggen ^^
Ist es also möglich meinen code auszubessern sodass andere keine
probleme haben wenn die auf den button clicken um ihre
eingetragenen Werte zu speichern und senden???

hier mein code:

Private Sub CommandButton1_Click()
Dim strPath As String
With ActiveWorkbook
strPath = Replace(.FullName, „.xls“, „“)
.SaveCopyAs strPath & Format(Now, „yymmdd_hhmmss“) & „.xls“
End With

Dim olApp As Outlook.Application
Dim newMail As Outlook.MailItem

Set olApp = New Outlook.Application
Set newMail = olApp.CreateItem(olMailItem)

newMail.Attachments.Add strPath & Format(Now, „yymmdd_hhmmss“) & „.xls“
newMail.Recipients.Add „[email protected]
newMail.Subject = „TEST“ & Format(Now, „yymmdd_hhmmss“)

newMail.Send

Set newMail = Nothing
olApp.Quit
End Sub

Gibt es auch die möglichkeit CC einzubauen ??
vielen Dank wenn ihr mir helfen könnt

Hi Patrick,

Ich bin gerade dabei ein Excel File zu schreiben das per
Commandbutton Click das File speichert und gleich per mail
sendet
Das was ich mir zusammengepuzzelt habe funktioniert wenns gut
geht einmal ab dann nur noch laufzeitfehler und debuggen ^^
Ist es also möglich meinen code auszubessern sodass andere
keine
probleme haben wenn die auf den button clicken um ihre
eingetragenen Werte zu speichern und senden???

Grundsätzlich bitte immer angeben: in/an welcher Zeile kommt denn der Fehler, welcher ist es, 1004?

Gibt es auch die möglichkeit CC einzubauen ??

Ja, auch BCC geht, dazu müßte ich aber erst googeln.

Gruß
Reinhard

Hallo,

Replace kennt VBA bei mir nicht, deshalb habe ich da den Code mal für mich angepasst. Wenn Du da einen Fehler hast, aknn ich den nicht finden, das mußt Du selbst mal prüfen.

Mir sind zwei Fehler aufgefallen:

Private Sub CommandButton1_Click()
Dim strPath As String
With ActiveWorkbook
strPath = Replace(.FullName, „.xls“, „“)
.SaveCopyAs strPath & Format(Now, „yymmdd_hhmmss“)
& „.xls“

zwischen dem Pfad und den Filenamen fehlt ein Backslash.

End With

Dim olApp As Outlook.Application
Dim newMail As Outlook.MailItem

Set olApp = New Outlook.Application
Set newMail = olApp.CreateItem(olMailItem)

newMail.Attachments.Add strPath & Format(Now, „yymmdd_hhmmss“)

zum Speichern benötigt der Computer einen Moment, wenn er hier ankommt, kann die Sekunde bereits eine andere sein, dann findet er die Datei nicht mehr, weil Du inzwischen den Namen geändert hast. Den solltest Du vor der ganzen Aktion in eine Variable schreiben und dann mit der Variablen arbeiten.

& „.xls“
newMail.Recipients.Add „[email protected]
newMail.Subject = „TEST“ & Format(Now, „yymmdd_hhmmss“)

newMail.Send

Set newMail = Nothing
olApp.Quit
End Sub

Gibt es auch die möglichkeit CC einzubauen ??

Ja, aber ich weiß auch nicht wie. :smile: Mit VBA kenne ich mich (noch) nicht aus.

Geändert sieht das bei mir so aus …

Private Sub CommandButton1\_Click()
Dim strPath As String
Dim nm As String
With ActiveWorkbook
'strPath = Replace(.FullName, ".xls", "")
strPath = CurDir
nm = strPath & "\" & Format(Now, "yymmdd\_hhmmss") & ".xls"
.SaveCopyAs nm
End With

Dim olApp As Outlook.Application
Dim newMail As Outlook.MailItem

Set olApp = New Outlook.Application
Set newMail = olApp.CreateItem(olMailItem)

newMail.Attachments.Add nm
newMail.Recipients.Add "[email protected]"
newMail.Subject = "TEST" & nm

newMail.Send


Set newMail = Nothing
olApp.Quit
End Sub

… und läuft.

Gruß, Rainer

O.T welche Excelversion hast du? o.w.T.

97 o.w.T. :smile: