Anzeige
Archiv - Navigation
1352to1356
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA in Outlook - Namen mit Textdatei vergleichen

VBA in Outlook - Namen mit Textdatei vergleichen
31.03.2014 11:37:44
Thomas
Hallo,
ich weiß, dass Ihr hier die Spezialisten für Excel seid, aber vielleicht kann mit auch einer mit Outlook VBA helfen. Ich möchte, dass bei einer Antwort geprüft wird, ob der Name in eine Textdatei vorkommt. Wenn ja, soll die Anrede "Herr" erfolgen, wenn nicht, dann die Anrede "Frau". Das soll nach Möglichkeit case sensitive sein.
Bisher bin ich soweit:
Sub Reply()
Dim Msg As Outlook.MailItem
Dim MsgReply As Outlook.MailItem
Dim strGreetName As String
Dim geschlecht As String
Dim vorname As String
Dim lGreetType As Long
Dim WL As String, WordList() As String, Word As Variant
WL = "D:\Wortliste.txt"
WordList = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(WL, 1).ReadAll,  _
vbCrLf)
vorname = Left$(Msg.SenderName, InStr(1, Msg.SenderName, " "))
If InStr(1, vorname, Word, vbTextCompare) > 0 Then
geschlecht = "Herr"
Else
geschlecht = "Frau"
End If
strGreetName = Right$(Msg.SenderName, InStr(Msg.SenderName, " "))
Set MsgReply = Msg.Reply
With MsgReply
.Subject = "Re: " & Msg.Subject
.HTMLBody = "

Guten Tag " & _ geschlecht & " " & strGreetName & .HTMLBody .Display End With End Sub


Ergebnis ist dabei, dass leider immer die Anrede "Herr" gewählt wird...also als ob die "else" Anweisung ignoriert wird. Auch weiß ich leider nicht, ob case sensitive in der Textdatei gesucht wird.
Wäre schön, wenn ihr mir helfen könntet.
DANKE

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA in Outlook - Namen mit Textdatei vergleichen
31.03.2014 12:27:18
Oberschlumpf
Hi Thomas
in der If-Bedingung gibt es die variante Variable Word.
Aber diese Variable erhält vor der Bedingung nie irgdeinen Wert, ist also immer "".
Muss das so sein?
Ciao
Thorsten

AW: VBA in Outlook - Namen mit Textdatei vergleichen
31.03.2014 12:50:06
Thomas
Hmm....guter Einwand. Eigentlich sollte:

If InStr(1, vorname, Word, vbTextCompare) > 0 Then
in der oben deklarierten D:\Wortliste.txt nach dem Wert von "vorname" suchen. Die Datei D:\Wortliste.txt wird aber auch anscheinend geöffnet, da es einen Fehler gibt, wenn die Datei fehlt.

AW: VBA in Outlook - Namen mit Textdatei vergleichen
31.03.2014 13:02:50
Oberschlumpf
na klar wird die Datei geöffnet, und zwar in der Zeile...
WordList = Split(... usw
Erstell am besten mal ne Bsp-Datei mit dem Code drin, und die Datei Wortliste.txt brauchen wir auch.
Pack dann beide Dateien in eine ZIP-Datei, und die ZIP-Datei stellst du uns dann hier bitte zur Verfügung.

Anzeige
AW: VBA in Outlook - Namen mit Textdatei vergleichen
31.03.2014 14:13:36
Oberschlumpf
nö, ich werde jetzt nicht ne Stunde oder mehr investieren, um mir all das Ganze durchzulesen.
was is denn für dich so schwer daran, uns die notwendigen Dateien zu zeigen?

AW: VBA in Outlook - Namen mit Textdatei vergleichen
31.03.2014 14:40:33
Thomas
alles klar. du findest die datei hier:
https://www.herber.de/bbs/user/89932.zip
darin enthalten ist meine vergleichsdatei "wortliste.txt" und der code in der "bsp.txt"
danke für die mühe

Anzeige
wer anderes bitte
31.03.2014 14:57:25
Oberschlumpf
dein Code funktioniert bei mir nicht, läuft auf n Fehler in dieser Zeile:
vorname = Left$(Msg.SenderName, InStr(1, Msg.SenderName, " "))
liegt vielleicht daran, dass ich den Code in Excel testen wollte, weiß aber nicht, ob das der Grund ist.
Anderes Problem:
Hast du dir die Wortliste eigentlic mal angeschaut?
Zitat von dir:
...Ergebnis ist dabei, dass leider immer die Anrede "Herr" gewählt wird...
DAS könnte durchaus DARAN liegen, weil es in der Wortliste.txt nur Männernamen gibt.
Ich kann leider nicht weiterhelfen.

AW: wer anderes bitte
01.04.2014 12:01:43
fcs
Hallo Thomas,
die Funktioninalität unter Outlook konnte ich nicht testen (Outlook nicht installiert).
Die Auswertung der Namensliste hab ich getestet. Da ist aber noch so einiges ncht in Ordnung gewesen.
Die Syntax für das Zuweisen der aktive Mail, die du beantworten möchtest, zu der Variablen Msg musst du nochmals korrigieren, da hab ich momentan keinen Schimmer, wie die sein muss.
Außerdem gibt es Vornamen -wie Toni, Eike, u.a.- die auch weiblich sein können.
Gruß
Franz
Sub Reply2()
Dim Msg As Outlook.MailItem
Dim MsgReply As Outlook.MailItem
Dim strGreetName As String
Dim geschlecht As String
Dim vorname As String
Dim lGreetType As Long
Dim varTreffer As Variant
Dim WL As String, WordList() As String, Word As Variant
WL = "D:\Wortliste.txt"
'Inhalt der Worliste in Datenarray übernehmen.
WordList = Split(CreateObject("Scripting.FileSystemObject") _
.OpenTextFile(WL, 1).ReadAll, vbCrLf)
Set Msg = Application.ActiveMail 'Syntax ? hier muss die zu beantwortende Mail gesetzt  _
werden!!!!
'Vorname aus E-Mail-SenderName ermitteln
If InStr(1, Msg.SenderName, " ") 

Anzeige

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige