Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Neue Arbeitsmappe per outlook versenden?

Neue Arbeitsmappe per outlook versenden?
11.10.2005 09:25:48
ralle
Hallo zusammen.
Habe nachfolgendes Makro in eine Userform geschrieben.
Beim starten des Makros öffnet sich eine Maske in der Mann in einer Listbox die sheets der Excel-Arbeitsmappe gelistet werden. Hier können 1 oder mehrere sheets ausgewählt werden, die dann in eine neue Arbeitsmappe kopiert werden. In einer Combobox kann dann eine Emailadresse ausgesucht werden, an die dann diese neue Arbeitsmappe versand werden soll.
Wenn ich aber nun den Button "Abschicken" drücke wird nicht die neu erstellte Arbeitsmappe verschickt, sondern die Arbeitsmappe, in der das Makro ist.
Was mache ich falsch?

Private Sub cboemailliste_Change()
End Sub


Private Sub cmdAuswahlAnhang_Click()
Dim arr() As String
Dim irow As Integer, icounter As Integer
Dim spath As String
spath = Application.DefaultFilePath & "\"
For irow = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(irow) Then
icounter = icounter + 1
ReDim Preserve arr(1 To icounter)
arr(icounter) = Worksheets(ListBox1.List(irow)).Name
End If
Next irow
Worksheets(arr).Copy
End Sub


Private Sub cmdcancel_Click()
Unload Me
End Sub


Private Sub cmdListefüllen_Click()
End Sub


Private Sub cmdversenden_Click()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
'Aktive Arbeitsmappe wird als Mail gesendet
AWS = ThisWorkbook.FullName
InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Me.cboEmailliste.Value
.Subject = "Testmeldung von Excel2000 " & Date & Time
.attachments.Add AWS
.Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'Mail.Send
End With
'Outlook schliessen
OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub


Private Sub ListBox1_Click()
End Sub


Private Sub UserForm_Initialize()
Dim wks As Worksheet
For Each wks In Worksheets
ListBox1.AddItem wks.Name
Next wks
Me.cboEmailliste.RowSource = ("A1:A80")
'Me.cboEmailliste.ListIndex = "0"
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neue Arbeitsmappe per outlook versenden?
11.10.2005 12:47:37
Heiko
Hallo Ralle,
hab jetzt nicht deinen ganzen Code nachvollzogen, glaube aber hier liegt der Fehler:
' ThisWorkbook steht für das Workbook in dem dieser Code sich befindet.
AWS = ThisWorkbook.FullName
' ActiveWorkbook steht für das aktive, also im Vordergrund, befindliche Workbook.
AWS = ActiveWorkbook.FullName
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
Danke für Rückmeldung
11.10.2005 14:10:19
ralle
... Danke für Deine Rückmeldung.
Ich glaub daran hat es jedoch nicht gelegen (habe das ausprobiert und funzt nicht).
Glaube der Fehler liegt darin, das die neue Arbeitsmappe nicht abgespeichert wird.
Habe mir jetz so geholfen, das die Arbeitsmappe abgespeichert wird und dann auf diese Abgespeicherte Arbeitsmappe zurückgegriffen wird.
Ist für mich echt kompliziert, funzt jetzt (ich weis aber nicht genau warum)
Gruß
ralle
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige