Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: phanthomias am Januar 26, 2012, 13:04:16

Titel: Signatur weg bei Email senden über VBA (Outlook 2010)
Beitrag von: phanthomias am Januar 26, 2012, 13:04:16
Hallo,

mit untenstehender Funktion verschicken wir Emails aus einer Access-Anwendung über VBA. Das lief bisher mit Outlook 2003 und Outlook 2007 auch problemlos. Nun haben die ersten Clients Outlook 2010 drauf und da fehlt nun auf einmal die Signatur in der so erstellten Email. Die Email an sich wird korrekt erzeugt, es fehlt nur die Signatur, was natürlich lästig ist. In den Einstellungen von Outlook ist die Signatur korrekt konfiguriert und wenn ich dort eine neue Email schreibe, ist die Signatur auch dran. Beim Aufruf über VBA fehlt die Signatur aber eben.
Muss man hier im Outlook 2010 etwas konfigurieren oder irgendeinen zusätzlichen Parameter angeben?

Vielen Dank und Grüße.

###########
Global MailAn, MailBetreff, MailText As String

Function sendMailWithAttachments()
On Error GoTo err

If IsNull(MailAn) = True Or MailAn = "" Then
MailAn = "Adressat - Bitte überschreiben"
Else: End If

Dim objOutlookMsg As Outlook.MailItem
Dim objOutlook As Outlook.Application
         
          Dim readdir As String
          Dim strZeile1, strZeileLiefer As String
          Dim fc As Variant
          Dim filesystem, folder, file, files
  ' Create the Outlook session.
  Set objOutlook = New Outlook.Application
  Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
  '*****************
  readdir = Mailpfad()
  '*****************
  Set filesystem = CreateObject("Scripting.FileSystemObject")
  Set folder = filesystem.GetFolder(readdir)
  Set fc = folder.files

  With objOutlookMsg
' Add the To recipient(s) to the message.
  .To = (MailAn) 'Hier kann man die email adresse setzen
.Subject = Nz(MailBetreff, "")
             .Body = Nz(MailText, "")

             ' Add attachments to the message.
             For Each file In fc
                Dim Filename As String
                Filename = CStr(file.Name)
                If Not IsMissing(readdir & "\" & Filename) Then
                .Attachments.Add (readdir & "\" & Filename)
                End If
             Next
             ' Should we display the message before sending?
                 .Display
       
          End With
          Set objOutlook = Nothing

Exit Function
err:
MailAn = ""
MailBetreff = ""
MailText = ""

MsgBox "Es ist ein Fehler aufgetreten oder Sie haben 'Abbrechen' gewählt " & err.Description & " " & err.Number, vbInformation, "Abbruch Mailfunktion"
Exit Function
End Function

###########
Titel: Re: Signatur weg bei Email senden über VBA (Outlook 2010)
Beitrag von: Jonny am Januar 26, 2012, 15:57:51
Hallo
ich habe zwar 2007 wird aber bei 2010 genauso sein.
Ausschnitt zum senden HTML-Mail mit Signatur.
SigString ist als string definiert.
Rs ist eine Tabelle wo unter anderen der Pfad und Dateiname für die Sig und ein Bild steht.

    SigString = Rs!signatur      ' hier ist der Pfad und Dateiname für die Signatur hinterlegt
    If Dir(SigString) <> "" Then
        Signature = GetBoiler(SigString)
      Else
        Signature = ""
    End If
   
    On Error Resume Next
'Mail versenden mit angepasster Signatur
    With OutMail
        .Display
        .Subject = ZwBetreff
        .To = MailAdresse                                                   'anpassen Empfänger
        '.CC = ""                                                                 'anpassen CC-Empfänger
        .Attachments.Add ZwDatei                                     'anpassen für Anhänge
        .HTMLBody = strbody & "<br><br>" & Signature

ist glaube ich genau der Ausschnitt den du brauchst.
Hat die Sig noch ein Bild wirds umfangreicher da du dann das Bild separat einfügen musst.
Titel: Re: Signatur weg bei Email senden über VBA (Outlook 2010)
Beitrag von: phanthomias am Januar 27, 2012, 12:47:08
Hallo Jonny,

vielen Dank für die Antwort.
Die Sache ist die, dass die Signatur der Benutzer automatisch aus den Benutzerdaten der AD generiert wird (und auch ein Logo enthält). Wenn sich mal die Telefonnummer ändert oder ein Kollege an einem anderen Standort arbeitet, möchten wir das natürlich nur an einer Stelle pflegen müssen.
Andererseits liegt diese Signatur lokal unter C:\Users\Username\Appdata\Roaming\Microsoft\Signatures\
Kann ich über dein Skript auch eine lokale HTML-Datei einbinden?

Die Signatur wurde ja wie gesagt bei Outlook 2007 auch noch automatisch angefügt, es gibt nur beim Outlook 2010 Probleme.
Titel: Re: Signatur weg bei Email senden über VBA (Outlook 2010)
Beitrag von: Jonny am Januar 27, 2012, 14:35:12
Hallo,
ich habe pro User in der Tabelle ein Feld für den Pfad und Dateinamen Signatur.
Zusätzlich noch ein Feld mit Pfad und Dateiname für das Bild.
(im Code RS)
Dadurch kann ich bei jeden Rechner die Signatur und das Bild nehmen was in der Vorgabetabelle eingestellt ist.
Das lässt sich dann auch Zentral pflegen da die Tabelle im Backend ist.

Leider habe ich im Moment keinen Zugriff auf den eingesetzten Code und kann dir nicht die vollständige Routine geben.

Gruß

Johann

Titel: Re: Signatur weg bei Email senden über VBA (Outlook 2010)
Beitrag von: Jonny am Januar 27, 2012, 14:52:42
Hallo
noch einen Nachtrag.
suche hier im Forum nach Email Outlock Signatur.
hier wurde mir von Peter oder Franz gut geholfen (nochmals Danke dafür).

Gruß

Johann