Office: GetUsername in Win7 x64?

Helfe beim Thema GetUsername in Win7 x64? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo allerseits, ich habe eine XL-Datei, in der ich den Anmeldename abfrage. Code: Private Declare Function GetUserName _ Lib "advapi32.dll" _ Alias... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von passt, 29. August 2010.

  1. GetUsername in Win7 x64?


    Hallo allerseits,

    ich habe eine XL-Datei, in der ich den Anmeldename abfrage.
    Code:
    Die Datei ist bisher unter 32bit Windows Versionen im Einsatz. Unter Windows 7 64bit erscheint jetzt die Fehlermeldung:
    Der Code in diesem Projekt muss für die Verwendung auf 64-Bit-Systemen aktualisiert werden. Überarbeiten und aktualisieren Sie Declare Anweisungen, und markieren Sie mit dem PtrSafe-Attribut.
    In einem andere Office-Forum rät man Office 2010 als 32bit Version zu installieren.

    Hat jemand einen anderen Vorschlag?

    Gruß,
    Peter

    :)
     
  2. Moin, Peter,

    kannst Du bitte einmal ausprobieren, was denn Environ("Username") zurückliefert oder ob da auch eine Fehlermeldung kommt?
     
  3. Hallo!

    Wenn Du ein 64-bit-Office verwendest, dann versuch es mit "LongLong". Vielleicht meldet sich Nepumuk noch, er kann mehr dazu sagen.

    Code eingefügt mit VBA in HTML 2.0

    Gruß, René
     
  4. GetUsername in Win7 x64?

    Hallo,

    an der Funktion hat sich nur der Aufruf geändert.

    Option Explicit

    Private Declare PtrSafe Function GetUserName Lib "advapi32.dll" _
    Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

    Public Sub test()
    Dim strUserName As String
    strUserName = String$(100, vbNullChar)
    Call GetUserName(strUserName, 100)
    strUserName = Left$(strUserName, InStr(strUserName, vbNullChar) - 1)
    MsgBox strUserName
    End Sub
     
    Nepumuk, 31. August 2010
    #4
  5. \@jinx
    Der Befehl Environ("Username") funktioniert. Ich weiß, dass es eine Variable ist, die der User manipulieren kann, aber es ist die pragmatischste Lösung für mein Problem.


    @Nepumuk
    Vielen Dank, so funktioniert aber auch unter Win7 x64.

    Der Vollständigkeit halber, möchte ich diesen Lösungsansatz weiter verfolgen. Ich möchte jetzt gerne den Code sowohl für alt x32 als auch für neu x64 ermöglichen.

    Wie kann ich im "Private Declare" Bereich nach der Windows Version abfragen und dann anschließend zwei unterschiedliche "Private Declare" bereitstellen?

    Ist das überhaupt machbar?

    Gruß,
    Peter
     
  6. Moin, Peter,

    Verwechselst Du das nicht mit Application.Username?
     
  7. Hallo,

    das kannst du so machen:

    Option Explicit

    #If Win64 Then
    Private Declare PtrSafe Function GetUserName Lib "advapi32.dll" _
    Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    #Else
    Private Declare Function GetUserName Lib "advapi32.dll" Alias _
    "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    #End If

    Public Sub test()
    Dim strUserName As String
    strUserName = String$(100, vbNullChar)
    Call GetUserName(strUserName, 100)
    strUserName = Left$(strUserName, InStr(strUserName, vbNullChar) - 1)
    MsgBox strUserName
    End Sub

    Lass dich nicht davon beirren, das die obere Deklaration in 32 Bit-Systemen rot wird. Durch die bedingte Kompilierung wird das ignoriert.
     
Thema:

GetUsername in Win7 x64?

Die Seite wird geladen...
  1. GetUsername in Win7 x64? - Similar Threads - GetUsername Win7 x64

  2. CreateObject("WScript.Shell").Run geht nicht unter win7

    in Microsoft Excel Hilfe
    CreateObject("WScript.Shell").Run geht nicht unter win7: Hallo, ich hatte unter xp bei einem Excel-Makro immer "CreateObject("WScript.Shell").Run" benutzt, um über die Eingabeauffoerung ein externes Programm zu starten....
  3. win7 win10 advapi32.dll

    in Microsoft Access Hilfe
    win7 win10 advapi32.dll: Hallo wertes Forum, ich bin auf der Suche nach einer Lösung für folgende Problemstellung. Ich habe eine Datenbank(FontEnd BackEnd) die unter Windows 7 & Windows 10 laufen soll. Hierbei habe ich...
  4. MS Access auf Server 2008 R2 X64 langsam

    in Microsoft Access Hilfe
    MS Access auf Server 2008 R2 X64 langsam: Hallo Zusammen, ich hoffe ich bin hier im richtigen Bereich? Mein Problem möchte ich mal so schildern. Ein Access MDB auf Basis 2000 läuft seit Jahren auf einem Server 2003 x 32 System...
  5. Problem mit Zertifikat Outlook 2007 Win7 Pro 64 bit

    in Microsoft Outlook Hilfe
    Problem mit Zertifikat Outlook 2007 Win7 Pro 64 bit: Moin zusammen, ich habe ein Problem seit einigen Tagen mit Outlook 2007 unter Win7 Pro 64bit. Es erscheint ständig ein Popup-Fenster mit dem Hinweis: "Ein erforderliches Zertifikat...
  6. MS Outlook 2007 unter WIN7 Junk-E-Mail Ordner versehentlich gelöscht

    in Microsoft Outlook Hilfe
    MS Outlook 2007 unter WIN7 Junk-E-Mail Ordner versehentlich gelöscht: Hallo an Alle im Forum, ich bin ganz neu hier im Forum und bin kein Software Experte. Ich wende mich heute mit einem Problem an Euch, für das ich keine Lösung habe. Ich verwende Outlook 2007 auf...
  7. Word2002 / Win7 SP1: Fehler bei Programmende

    in Microsoft Word Hilfe
    Word2002 / Win7 SP1: Fehler bei Programmende: Beim Beenden von Word (egal, ob Ende-Button rechts oben oder über Beenden-Befehl im Datei-Menü): es kommt eine Fehlermeldung "Word funktioniert nicht mehr; es wird eine Lösung gesucht". Wenn ich...
  8. Darstellungsproblem zwischen WinXP und Win7 bei einem Symbol

    in Microsoft Word Hilfe
    Darstellungsproblem zwischen WinXP und Win7 bei einem Symbol: Hallo zusammen, ich habe zwei Rechner mit denen ich regelmäßig arbeite. Der eine läuft unter Windows7 und der andere unter WindowsXP(SP3). Beides mal ist Office 2010 in der selben Variante...
  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