Hallo,
ich versende Berichte aus der Anwendung (Acc2010) heraus über Outlook.
Private Sub OeMailoR_Click()
On Error GoTo OeMailoR_Click_Err
Dim stDocName As String
Dim Mailadr As String
Dim Subj As String
Dim Msg As String
Dim RetVal As Boolean
Mailadr = Forms!frmKundedat!eMail
stDocName = "berSaAngebMail"
Msg = "Unsere Angebote auf Ihre Anfrage"
Subj = "Sehr geehrte Damen und Herren, <br> <br>" & _
wir danken für Ihre Anfrage und übersenden Ihnen unsere Angebote im Anhang dieser Email. <br> <br> Mit freundlichen Grüssen ! <br> <br> <br>"
RetVal = olPDFMail(stDocName, Mailadr, Subj, Msg, True)
Meine Bitte um Hilfe betrifft die Signatur, also dass, was nach den "Grüssen!" folgt:
Ich könnte den HTML-Text zwar um die Zeilen
- "Unser Firmenname <br>
- "Unser Firmensitz <br>
usw. ergänzen, aber dabei tritt das Problem auf, dass bei Änderungen (z.Bsp.: Faxnummer) wieder ein Datenbankeingriff erforderlich ist.
Meine in Qutlook vorhandene Signatur wird leider nicht übernommen.
Frage:
Gibt es die Möglichkeit, die in Outlook vorhandene Signatur per VBA in die o.a. Prozedur einzubinden ?
Moin,
die Antwortet lautet: ja
Ich verwende die folgenden Zeilen:
Dim qd As QueryDef
Dim rs As Recordset
Dim Abfrage As String
Dim Abfrage_order As String
Dim Email_Signatur As Variant
Dim intFile As Integer
Dim strFile As String
Dim lngFileLen As Long
Dim Weiter As Boolean
Dim Nr As Integer
Dim x As Long
Dim Suchen As String
Dim Ergebnis As String
Dim Lesefehler As Long
Ergebnis = Left(Ergebnis, InStrRev(Ergebnis, "</body") - 1) ' nur den Teil bis zum Ende des html-Textes nehmen
If Dir("C:Dokumente und Einstellungen\" & CompName(1) & "\Anwendungsdaten\Microsoft\Signatures\Name_Deiner_Signatur.htm") > "" Then
Open "C:Dokumente und Einstellungen\" & CompName(1) & "\Anwendungsdaten\Microsoft\Signatures\Name_Deiner_Signatur.htm" For Binary As #intFile
lngFileLen = LOF(intFile)
If lngFileLen <> 0 Then
strFile = String$(lngFileLen, 32)
Get intFile, , strFile
x = InStr(strFile, "<div style") ' nicht den Kopfteil vom html-Text verwenden
If x > 0 Then strFile = Mid(strFile, x)
Ergebnis = Ergebnis & "<br><br>" & strFile
End If
Close #intFile
End If
In Ergebnis steht der zu versendende Text, der um die Signatur erweitert wird.
Die Zeilen entfernen auch bestimmte Teile im html-Text, der ansonsten bei mir dazu führte, dass eine Meldung erschien, dass ein fremdes Programm auf Outlook zugreift und was ich dann erlauben mußte (click-yes Problematik wurde durch das Entfernen vermieden).
Das gilt für office2003 bzw. 2007.
Harald
PS Nachgetragen ist der DIM-Teil als Kopie aus meiner Routine, wird also für hier zuviel dabei sein.
Hallo,
ich muss das Thema zunächst einmal zurückstellen, weil die Signatur fremdbestimmt wird und ich zur Zeit keine Aussagen dazu (Serverumgebung) bekommen kann.
Würdest Du mir aber dennoch bitte den Deklarationsbereich Deiner Prozedur mitteilen?
Hallo hawebe,
Den DIM-Teil habe ich oben eingebaut, damit es nicht zerstückelt wird.
Zitat von: hawebe am August 12, 2012, 16:23:17
ich muss das Thema zunächst einmal zurückstellen, weil die Signatur fremdbestimmt wird und ich zur Zeit keine Aussagen dazu (Serverumgebung) bekommen kann.
Klingt so, als ob wir in der gleichen Firma arbeiten. ;D
Auch bei mir war es mit Sucherei verbunden, wo die IT die Signaturen abgelegt hat.
Die obigen Zeilen dienen also nur als Vorschlag. Mag sein, dass es bei Euch anders geregelt wurde.
"CompName" ist eine api-Funktion, die u.a. den Namen vom Benutzer ermittelt.
Harald
Hallo Harald,
danke für die Hilfe.
Ich werde es auf dem Server anders lösen müssen, denn bei den vielen Usern wäre es sehr aufwendig über diesen Pfad zu gehen, zumal ich auch nur einen rumpeligen Fernzugriff habe.
Ich denke mal, ich lege die Signatur in mein Verzeichnis (M:\db\). Dort befinden sich Front- und Backend.
Also, in diesem Sinne.
Hans-Wolfgang