Microsoft Office Tutorials and References
In Depth Information
4.2 Operative Instrumente
.lstPersonal.RowSource = shPersonal.Range("Personaldatenbank").Address
.txtFormular = "Formular Tätigkeitsanalyse"
.Show
End With
End Sub
Markieren Sie einzelne Mitarbeiter per Klick auf den Eintrag in der
Liste. Ein weiterer Klick hebt die Markierung wieder auf. Die Liste
ist dafür mit der Eigenschaft Multiselect präpariert. Klicken Sie auf
die Schaltfläche Formular senden , wenn alle Mitarbeiter markiert
sind.
Listing 4.4: VBA-Makro zum Versenden der Outlook-Nachrichten
Private Sub cmdOK_Click()
Dim shPersonal As Worksheet, i As Integer
Dim ol As Object, mail As Object
Dim strMitarbeiter As String, strPersNr As String, strKostenstelle As String
Dim strFragebogen As String, strAbteilung As String, shMail As String
Dim strMailadresse As String, strMail As String
Set shPersonal = ThisWorkbook.Worksheets("Personal")
' Schleife für alle markierten Mitarbeiter
For i = 0 To Me.lstPersonal.ListCount - 1
If Me.lstPersonal.Selected(i) = False Then GoTo nextMA
' Fragebogen kopieren
Sheets("Formular Tätigkeitsanalyse").Copy
' Fragebogen mit Daten füllen
With shPersonal.Range("Personaldatenbank")
strMitarbeiter = .Cells(i + 1, 1)
strPersNr = .Cells(i + 1, 2)
strAbteilung = .Cells(i + 1, 3)
strKostenstelle = .Cells(i + 1, 4)
strMailadresse = .Cells(i + 1, 6)
strFragebogen = Me.txtFormular.Value
End With
' Fragebogen als Datei speichern und schließen
Application.DisplayAlerts = False
strFragebogen = "Projekt GWA_" & strMitarbeiter
With ActiveWorkbook
.SaveAs Filename:=strFragebogen
.Close
End With
Application.DisplayAlerts = False
' Neue Outlook-Nachricht öffnen
Set ol = CreateObject("Outlook.Application")
Set mail = ol.createitem(0)
With mail
.Subject = "Projekt GWA - Fragebogen Tätigkeitsanalyse"
Search JabSto ::




Custom Search