Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

smtp Exchange Server - Nur Angezeigter Name

smtp Exchange Server - Nur Angezeigter Name
29.08.2008 07:12:09
chris
Hallo zusammen, leider habe ich hier keine Antwort bekommen.
Vielleicht wurde mein beitrag übersehen.
oder gibt es keine Lösung ?
Würde mich über Hilfe sehr freuen !!
Vielen dank gruß Chris
https://www.herber.de/forum/messages/1005350.html

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 09:05:12
bst
Morgen,
poste mal Dein Makro her.
cu, Bernd
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 09:34:00
chris
Guten morgen,Danke für deine Hilfe....
Leider kann ich nicht den ganzen code posten.Aber ich hoffe das reicht.
So lese ich oder Starte ich das Addressbuch, wähle einen Empfänger aus.
Und von diesem Empfänger benötige ich die smtp Addresse und nicht den angezeigten Namen.
Danke nochnochmals für die Hilfe !!
gruß Chris
Dim objSession As MAPI.Session
Dim objRecipients As MAPI.Recipients
Dim objRecipient As MAPI.Recipient
Dim iRow As Integer
Set objSession = CreateObject("MAPI.Session")
''objSession.Logon "Default Outlook Profile"
objSession.Logon "", , , False
On Error Resume Next
Set objRecipients = objSession.AddressBook( _
Recipients:=objRecipients, _
Title:="Wählen Sie den oder die Empfänger - Verteiler 1")
If Not objRecipients Is Nothing Then
Worksheets("Verteiler").Unprotect "p"
For Each objRecipient In objRecipients
For iRow = 2 To 100
If iRow = 100 Then End
If Worksheets("Verteiler").Cells(iRow, x) = "" Then
Exit For
Else
End If
Next
Cells(iRow, x).Value = objRecipient.Name
Next objRecipient
Worksheets("Verteiler").Protect "p"
End If
objSession.Logoff
Exit Sub
Anzeige
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 09:51:47
bst
Hi,
vermutlich reicht hier ein objRecipient.Resolve oder auch ein objRecipients.ResolveAll.
Schau Dir das mal in der Outlook VBA-Hilfe an.
HTH, Bernd
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 10:06:00
chris
VBA ist leider nicht so gut.
Bitte hilf mir wie ich das in meinen code einbauen kann.
Danke
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 10:12:38
bst
Hi,
einfach mal ein:
objRecipient.Resolve
direkt unter:
For Each objRecipient In objRecipients
oder ein
objRecipients.ResolveAll
direkt darüber.
Dann mal im Einzelschrittmodus durch den Code gehen und Dir objRecipient anschauen.
Da ich hier keinen Exchange-Server habe kann ich das auch nicht probieren...
cu, Bernd
Anzeige
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 10:56:23
chris
meinst du etwa so ?
Sehe so gar nichts ?
Option Explicit

Sub neu()
Dim objSession As MAPI.Session
Dim objRecipients As MAPI.Recipients
Dim objRecipient As MAPI.Recipient
Dim iRow As Integer
Dim x As Integer
Set objSession = CreateObject("MAPI.Session")
''objSession.Logon "Default Outlook Profile"
objSession.Logon "", , , False
On Error Resume Next
Set objRecipients = objSession.AddressBook( _
Recipients:=objRecipients, _
Title:="Wählen Sie den oder die Empfänger - Verteiler 1")
If Not objRecipients Is Nothing Then
objRecipients.ResolveAll
objRecipient.Resolve
For Each objRecipient In objRecipients
objRecipients.ResolveAll
objRecipient.Resolve
Next objRecipient
End If
objSession.Logoff
Exit Sub
End Sub


Anzeige
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 11:16:00
bst
Hi,
nein.
Du schriebst:
"So lese ich oder Starte ich das Addressbuch, wähle einen Empfänger aus.
Und von diesem Empfänger benötige ich die smtp Addresse und nicht den angezeigten Namen."
Ich bin schon davon ausgegangen, dass dieser Code dann auch funktioniert. Probiert habe ich den nämlich nicht.
Und, alles was Du dann tun musst ist es IMHO unter der For Schleife einmal einen resolve aufzurufen. Der sollte nämlich dafür sorgen dass Deine vorherige Adresse im Active-Directory-Format (?) in eine normale Email-Adresse aufgelöst wird.
Den Rest des Codes lasse wie er war, er hat ja schließlich funktioniert, oder?
HTH, Bernd
Anzeige
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 11:28:00
chris
ok Danke für den Versuch klappt bei mir nicht.
Istscheinbar irgendwie nicht möglich...
Habe jetzt diesen Code und es bringt mir 2 msgboxen
die eine vor den resolve udn die andere danach.
beides mal die gleiche meldung.
Danke trotzdem und ich lasse mal offen vielleicht kann mir noch jemand helfen.
Option Explicit

Sub neu()
Dim objSession As MAPI.Session
Dim objRecipients As MAPI.Recipients
Dim objRecipient As MAPI.Recipient
Dim iRow As Integer
Dim x As Integer
Dim xx
Set objSession = CreateObject("MAPI.Session")
''objSession.Logon "Default Outlook Profile"
objSession.Logon "", , , False
On Error Resume Next
Set objRecipients = objSession.AddressBook( _
Recipients:=objRecipients, _
Title:="Wählen Sie den oder die Empfänger - Verteiler 1")
For Each objRecipient In objRecipients
MsgBox objRecipient.Name
objRecipient.Resolveall
MsgBox objRecipient.Name
Next objRecipient
objSession.Logoff
Exit Sub
End Sub


Anzeige
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 11:38:00
bst
Hi,
hast Du denn überhaupt schon einmal in die Outlook VBA-Hilfe geschaut?
ResolveAll ist ein Methode von Recipients, nicht von Recipient.
Es muss M.E. also korrekt lauten:
objRecipient.Resolve
Und, setze da doch einfach mal einen Breakpoint hin und schaue Dir objRecipient dann im Überwachungsfenster an.
Da ich das hier nicht testen kann, stelle ich mal auf Offen.
cu, Bernd
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 13:36:00
chris
ich setzte mal auf geschlossen.
Habe eine möglichkeit gefunden.Ist zwar nicht sehr sauber aber klappt einigermaßen..
die schleife habe ich eingebaut weil ich die smtp Addresse manchmal unter item z.b 30 finde und manchmal unter 31 oder 32 danke noch einmal ! An alle !!!
Dim objSession As MAPI.Session
Dim objRecipients As MAPI.Recipients
Dim objRecipient As MAPI.Recipient
Dim iRow As Integer
Set objSession = CreateObject("MAPI.Session")
''objSession.Logon "Default Outlook Profile"
objSession.Logon "", , , False
On Error Resume Next
Set objRecipients = objSession.AddressBook( _
Recipients:=objRecipients, _
Title:="Wählen Sie den oder die Empfänger - Verteiler 1")
If Not objRecipients Is Nothing Then
Worksheets("Verteiler").Unprotect "p"
For Each objRecipient In objRecipients
For iRow = 2 To 100
'Leere zeile finden
If iRow = 100 Then End
If Worksheets("Verteiler").Cells(iRow, x) = "" Then
Exit For
Else
End If
Next
anz = UCase(objRecipient.AddressEntry.Fields.Count)
On Error GoTo fehler
For xx = 40 To anz
If InStr(objRecipient.AddressEntry.Fields(xx).Value, "@") > 0 Then
Exit For
Else
End If
Next
Cells(iRow, x).Value = objRecipient.AddressEntry.Fields(xx).Value
Next objRecipient
Worksheets("Verteiler").Protect "p"
End If
objSession.Logoff
Exit Sub
verteiler:
For iRow = 2 To 100
If iRow = 100 Then End
If Worksheets("Verteiler").Cells(iRow, x) = "" Then
Exit For
Else
End If
Next
Worksheets("Verteiler").Unprotect "passi"
Cells(iRow, x).Value = wer_smtp
Worksheets("Verteiler").Protect "passi"
Exit Sub
fehler:
MsgBox ("fehler beim hinzufügen einer Addresse"), vbCritical, "Bitte an Administratior wenden"
End Sub
Anzeige
AW: smtp Exchange Server - Nur Angezeigter Name
29.08.2008 09:37:12
Tino
Hallo,
kann ich dir damit weiterhelfen?
Den Verweis auf Microsoft Outlook Object Library musst du noch setzen
Modul Modul1
Option Explicit 
'*********************************************************** 
'*Benötigt den Verweis auf Microsoft Outlook Object Library* 
'*********************************************************** 
Sub LeseSenderMailAddress() 
Dim objOutlook As Outlook.Application 
Dim objNameSpace As Namespace 
Dim objFolder As MAPIFolder 
Dim objMsg As MailItem 
Dim lngRow As Long 
  Set objOutlook = New Outlook.Application 
  Set objNameSpace = objOutlook.GetNamespace("MAPI") 
  Set objFolder = objNameSpace.Folders("Persönliche Ordner").Folders("Posteingang") 
 
     Application.ScreenUpdating = False 
        On Error Resume Next 
           For Each objMsg In objFolder.Items 
            lngRow = lngRow + 1 
            Cells(lngRow, 1) = objMsg.SenderEmailAddress 
           Next objMsg 
        On Error GoTo 0 
     Application.ScreenUpdating = True 
    
   Set objMsg = Nothing 
   Set objFolder = Nothing 
   Set objNameSpace = Nothing 
   Set objOutlook = Nothing 
End Sub 


Gruß Tino

www.VBA-Excel.de


Anzeige
nicht Posteingang?!!
29.08.2008 09:46:46
Tino
Hallo,
wie komme ich den auf den Posteingang?
Teste mal dies:
Modul Modul1
Option Explicit 
'*********************************************************** 
'*Benötigt den Verweis auf Microsoft Outlook Object Library* 
'*********************************************************** 
Sub test() 
 
Dim objOutlook As Outlook.Application 
Dim objNameSpace As Namespace 
Dim objMapiFolder As MAPIFolder 
Dim objItems As Items 
Dim zaehler As Integer 
  Set objOutlook = New Outlook.Application 
  Set objNameSpace = objOutlook.GetNamespace("MAPI") 
  Set objMapiFolder = objNameSpace.GetDefaultFolder(olFolderContacts) 
  Set objItems = objMapiFolder.Items 
         
        Application.ScreenUpdating = False 
          For zaehler = 1 To objItems.Count 
            Cells(zaehler, 1) = objItems(zaehler).Email1Address 
          Next zaehler 
        Application.ScreenUpdating = True 
 
Set objNameSpace = Nothing 
Set objNameSpace = Nothing 
Set objMapiFolder = Nothing 
Set objItems = Nothing 
End Sub 
 


Gruß Tino

www.VBA-Excel.de


Anzeige
noch offen
29.08.2008 09:56:25
chris
Danke Tino aber leider hilft mir das nicht weiter.
Wir arbeiten hier mir Exchange Server... Was das genau ist oder wo der unterschied ist weiß ich nicht und kenne ich nicht.
Aber ich habe die ganzen Einträge nicht in Kontakte sondern in der "Globalen Addressliste"
Hoffe es kann mir trotzdem jemand helfen !
Danke im vorraus !
nachtrag noch offen
29.08.2008 09:59:07
chris
Auch wenn ich Manuell einen Empfänger aus dem Globalen Addressbuch einfügen würde in Kontakte schreibt dein VBa Script folgendes in die zelle.Mit dem kann ich auch nichts anfangen...
/o=firma/ou=MAIL04/cn=RecipientsBa/cn=Chris.meinnachname
Danke für alle weiteren Hilfen
Anzeige
AW: nachtrag noch offen
29.08.2008 10:12:13
Tino
Hallo,
nächste Woche kann ich dies bei uns auf der Arbeit mal testen, wie man ans Globale Adressbuch kommt und die Daten entsprechend auslesen kann.
Vielleicht hat bis dahin aber ein anderer schon die Lösung, daher lass ich die Frage offen.
Warum bei dir solch eine Zeile in der Zelle zustande kommt verstehe ich aber jetzt auch nicht!
Bei mir wird die Mailadresse gelesen?
Gruß Tino
AW: nachtrag noch offen
29.08.2008 10:21:00
chris
Ok wäre super.Ich lass auch offen ansonsten bis nächste Woche !
Schönes Wochenende! Hoffe du vergisst mich nicht :)
gruß Chris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige