Office: VBA Programmierung Environ

Helfe beim Thema VBA Programmierung Environ in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, wir haben bei der nachfolgenden Programmierung folgendes Problem: Private Const olExchangeGlobalAddressList As Integer = 0 Private... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Lacry90, 6. Oktober 2022.

  1. Lacry90 Neuer User

    VBA Programmierung Environ


    Hallo zusammen,

    wir haben bei der nachfolgenden Programmierung folgendes Problem:

    Private Const olExchangeGlobalAddressList As Integer = 0
    Private Const olExchangeUserAddressEntry As Integer = 0
    Private Const olExchangeRemoteUserAddressEntry As Integer = 5

    Public Sub readGAL()
    Dim oOutlook As Object
    Dim oAddressList As Object
    Dim oAddressEntry As Object
    Dim oExchangeUser As Object
    Dim strPfad As String, strDatei As String, strWorkbook As String

    ' -----------------------
    ' Outlook-Instanz anlegen
    ' -----------------------
    Set oOutlook = CreateObject("Outlook.Application")

    ' -----------------------------
    ' Alle Adress-Listen durchgehen
    ' -----------------------------
    For Each oAddressList In oOutlook.Session.AddressLists
    ' -------------------------
    ' Prüfen, ob Exchange-Liste
    ' -------------------------
    If oAddressList.AddressListType = olExchangeGlobalAddressList Then
    ' -------------------------------
    ' Alle Adress-Einträge durchgehen
    ' -------------------------------
    For Each oAddressEntry In oAddressList.AddressEntries
    ' -------------------------
    ' Prüfen, ob Adress-Eintrag
    ' -------------------------
    If oAddressEntry.AddressEntryUserType = olExchangeUserAddressEntry _
    Or oAddressEntry.AddressEntryUserType = olExchangeRemoteUserAddressEntry Then
    ' --------------------------
    ' Eintrag von Exchange laden
    ' --------------------------
    Set oExchangeUser = oAddressEntry.GetExchangeUser
    If Left(oExchangeUser.department, 7) <> "H VCRRK" Then GoTo Ende
    Debug.Print oExchangeUser.Name & ": " & oExchangeUser.Alias & ":" & oExchangeUser.department & ":" & oExchangeUser.Yomidepartment
    End If
    Ende:
    Next
    End If
    Next

    ' ------------------------
    ' Objektvariable freigeben
    ' ------------------------
    Set oExchangeUser = Nothing
    Set oAddressEntry = Nothing
    Set oAddressList = Nothing
    Set oOutlook = Nothing
    End Sub

    _______________________________________________________________

    Sub GetUser()
    Dim myolApp As Object 'Outlook.Application
    Dim myNameSpace As Object 'Namespace
    Dim myAddrList As Object 'AddressList
    Dim myAddrEntries As Object 'AddressEntry
    Dim AliasName As String
    Dim myPhone As String
    Set myolApp = CreateObject("Outlook.Application")
    Set myNameSpace = myolApp.GetNamespace("MAPI")
    Set myAddrList = myNameSpace.AddressLists("Globale Adressliste")
    Dim FullName As String, LastName As String, FirstName As String, Location As String
    Dim Department As String, Email As String, Alias As String, UserID As String
    AliasName = Environ("Username")
    'MsgBox AliasName
    Set myAddrEntries = myAddrList.AddressEntries(AliasName)
    LastName = myAddrEntries.GetExchangeUser.LastName
    FirstName = myAddrEntries.GetExchangeUser.FirstName
    Department = myAddrEntries.GetExchangeUser.Department
    'Phone = myAddrEntries.GetExchangeUser.BusinessTelephoneNumber
    Location = myAddrEntries.GetExchangeUser.OfficeLocation
    Email = myAddrEntries.GetExchangeUser.PrimarySmtpAddress
    Alias = myAddrEntries.GetExchangeUser.Alias
    UserID = myAddrEntries.GetExchangeUser.ID
    MsgBox FirstName & " - " & LastName
    'Cells(2, 1) = LastName
    'Cells(3, 1) = Phone
    'Cells(4, 1) = Email
    'Cells(5, 1) = Alias
    'Cells(6, 1) = Department
    End Sub

    Bei AliasName = Environ ("Username") findet er bei uns die A-UserID.

    An Hand dieser A-UserID soll er jetzt den Vor- und Nachname der Person ermitteln.
    Leider kommt nur eine leere Msgbox. Ich vermute das der Fehler in der Formel vom LastName hängt. Bin mir aber nicht sicher.

    Könnt ihr mir weiterhelfen?

    Danke,

    Lacry90
     
    Lacry90, 6. Oktober 2022
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    Set myAddrList = myNameSpace.AddressLists("Globale Adressliste")
    Set myAddrEntries = myAddrList.AddressEntries(AliasName)


    vielleicht gibt es den Inhalt des AliasName-Eintrag in der Adressliste "Globale Adressliste" nicht bei dir.´

    Das kannst du ja leicht testen, indem du einen Break-Point im VBA-Editor setzt zB. in der Zeile, in der du das "Outlook.Application"-Objekt erzeugst. Dann gibst du im Direktbereich-Fenster den Namen der Sub ein - also GetUser.
    Dann stoppt das Makro bei dieser Zeile und mit Taste F8 kannst du schrittweise durch deinen Code marschieren. Indem du dabei mit dem Mauszeiger auf die so befüllten Variablen zeigst, kannst du deren Inhalte sehen und so mitverfolgen, ab wenn der Code Mist baut.
     
    Exl121150, 7. Oktober 2022
    #2
Thema:

VBA Programmierung Environ

Die Seite wird geladen...
  1. VBA Programmierung Environ - Similar Threads - VBA Programmierung Environ

  2. Hilfe bei VBA-Programmierung

    in Microsoft Excel Hilfe
    Hilfe bei VBA-Programmierung: Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten in einer Textdatei, die ich mir in Excel...
  3. Geschützte Zeichen (ch(160)) durch VBA-Programmierung bereinigen

    in Microsoft Excel Hilfe
    Geschützte Zeichen (ch(160)) durch VBA-Programmierung bereinigen: Hallo liebe Freunde, ich arbeite regelmäßig mit Excel Tabellen und will folgendes umsetzen. Und zwar habe ich in meinen Excel-Werten immer geschützte Leerzeichen, welche ich mit folgender Formel...
  4. VBA Programmierung - Hilfe

    in Microsoft Excel Hilfe
    VBA Programmierung - Hilfe: Hallo zusammen, ich bin blutige VBA anfängerin in Excel und versuche mich einzuarbeiten. Im groben kann ich mir vorstellen wie der Aufbau ist, jedoch klappt es bei mir trotzdem nicht. Zur Übung...
  5. VBA Programmierung

    in Microsoft Excel Hilfe
    VBA Programmierung: @ All Erstmal muß ich vorweg sagen , schreiben das ich keinen blassen von der Materie habe. Deshalb möchte ich mal fragen ob mir das jemand dieses erklären kann ? mit einen Projekt was ich...
  6. VBA Programmierung für eine Zelle auf weitere Zellen erweite

    in Microsoft Excel Hilfe
    VBA Programmierung für eine Zelle auf weitere Zellen erweite: Hallo Zusammen, ich habe ein kleines Problem, ich soll eine Ampelfunktion in Excel erzeugen, und bin auf folgende Lösung gestoßen: Private Sub Worksheet_Change(ByVal Target As Range) tst =...
  7. VBA Programmierung

    in Microsoft Excel Hilfe
    VBA Programmierung: Guten Tag zusammen , ich wil in VBA eine Funktion schreiben, ich weiß aber nicht wie Also, WENN die Zelle L8 leer ist ; Dann soll der größer wert von F8 oder F29 angezeigt werden,...
  8. VBA programmierung

    in Microsoft Excel Hilfe
    VBA programmierung: Guten tag zusammen In der Zelle A1 soll das Ergebnis von den Zellen A2+A3 stehen Wie schreibe ich das in VBA
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden