ich habe mal wieder ein ungewolltes Problem. Folgender Sachverhalt ist gegeben:
Wir arbeiten in meiner Firma mit folgenden Programmen:
Excel 97 SR-2
Outlook 98 (8.5.5104.6)
Bitte an dieser Stelle keine hämischen Kommentare; ich ärgere mich auch täglich mit unserer EDV-Abteilung rum. Vor einigen Jahren habe ich eine Excel-Tabelle programmiert, welche sich nach betätigen eines Knopfes an einen Verteiler automatisch per eMail verschickt. Da der Verteiler variabel gehalten werden musste und durch den Anwender geändert werden soll/muss/darf, greift das Programm auf eine Tabelle "Verteiler" in der eigentliches Excel-Datei zu, in welcher die Mail-Adressen untereinander in einer Spalte stehen. Jede Adresse wird einzeln in eine Mail kopiert und verschickt, sodass bis zu 25 einzelne Mails versendet wurden. Klingt komisch... war zu seiner Zeit aber die einfachste Lösung und hat bis vor 14 Tagen reibungslos funktioniert.
Zu diesem Zeitpunkt wurde bei einem der entsprechendem Kollegen, der diese Datei bearbeitet die Office Version auf 2003 (Outlook 2003 (11.5608.5606)) umgestellt. Seitdem erscheint folgende Fehlermeldung:
Diese Meldung erscheint vor jeder Mail, die durch die Excel-Datei verschickt werden will. Also bei ca. 25 Mails 25 mal. Dass das meinen Kollegen nervt, kann ich sogar nachvollziehen. Die Hilfe-Funktion sagt dazu folgendes:
Ein Programm versucht, Nachrichten mit Item.Send zu senden
Ein Programm versucht, mit dem Befehl Item.Send der Anwendung Microsoft Visual Basic (VBA) _
automatisch eine E-Mail-Nachricht aus Microsoft Outlook zu senden. Wenn Sie möchten, dass das Programm diese Nachricht sendet, klicken Sie auf Ja. Klicken Sie auf Nein, um das Programm zu beenden. Wenn Sie sich nicht sicher sind, welches Programm die Nachricht sendet oder warum die Nachricht gesendet wird, sollten Sie auf Nein klicken, um ein mögliches Verbreiten von Viren zu vermeiden.
Anmerkung: Bei Anzeige dieser Meldung steht die Schaltfläche Ja 5 Sekunden lang nicht zur Verfügung.
Der Sinn und Zweck dieser Meldung ist mir durchaus bewusst (Vorbeugung von Viren und unerwünschten Zugriffen auf Outlook durch andere Programme), jedoch verstehe ich nicht, wieso durch einen simplen Wechsel der Outlook-Version plötzlich dieser Fehler erscheint.
Die Frage ist nun, wie kann ich diesen Fehler im Code der Excel-Datei unterdrücken, dass er in Outlook nicht angezeigt wird.
Der Code, der für die Versendung der Excel-Datei in Outlook verantwortlich ist, sieht bei mir folgendermaßen aus:
Sub Verteilen()
Dim OutApp As Object, Mail As Object
Dim Zaehler As Integer
Dim Datei, Extratext As String
Dim Nachricht
Dummy = MsgBox("Möchten Sie einen zusätzlichen Hinweis in die Verteiler-Mail einfügen?", vbYesNo + vbQuestion, "xxxx")
If Dummy = 6 Then Extratext = InputBox("Bitte geben Sie den gewünschten Text ein.", "xxxx")
Datei = ActiveWorkbook.FullName
If Sheets("Vorverkaufseröffnung - Club").Range("Veranstaltung").Value "" Then
VAName = Sheets("Vorverkaufseröffnung - Club").Range("Veranstaltung").Value
Else: VAName = Sheets("Vorverkaufseröffnung - Club").Range("Veranstaltung2").Value
End If
If VAName "" Then
For Zaehler = 1 To Sheets("Verteiler").Range("AnzahlAdressen").Value
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Sheets("Verteiler").Cells(Zaehler, 1)
.Subject = "Vorverkaufseröffnung - Club " & VAName & " | stand: " & " " & Date & " " & Time
.Body = Extratext & vbNewLine & vbNewLine & vbNewLine & vbNewLine & vbNewLine & "In der Anlage finden Sie die Vorverkaufseröffnung - Club für o.g. Veranstaltung. Zum Öffnen der Datei müssen Makros nicht aktiviert werden. Bitte beachten Sie, dass dies eine automatisch erstellte Email und deshalb für Sie nur ein Adressat zu sehen ist."
.attachments.Add Datei
.Send
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Next Zaehler
Dummy = MsgBox("Die Vorverkaufseröffnung - Club wurde erfolgreich an den Verteiler gemailt.", vbOKOnly + vbInformation, "xxxx")
Else: Dummy = MsgBox("Ein unerwarteter Fehler ist aufgetreten! Fehlercode VVKC002", vbOKOnly + vbExclamation, "xxxx")
End If
End Sub
Ein weiteres Problem sehe ich darin, dass ein zweiter Kollege, der diese Datei bearbeitet, weiterhin mit Excel 97 arbeitet.
Für Kommentare, Hilfestellungen und Hinweise bin ich sehr dankbar.
Verregneten Gruß aus Köln
Christian