Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA-Abfrage Computername

Forumthread: VBA-Abfrage Computername

VBA-Abfrage Computername
06.09.2002 14:17:59
Werner Theis
Hallo zusammen,

ich suche nach einer Möglickeit, eine Excel-Datei so einzurichten, daß sie nur auf einem bestimmten PC dauerhaft läuft. Die Abfrage des Usernamens (Application.UserName), der Organisation (Application.OrganizationName) oder des Einwahlnamens (windows-login) ist mir nicht beständig genug, da diese z.T. selbst geändert werden können bzw. nach Benutzerwechsel geändert werden müssen.

Dauerhaft müßte doch der Netzwerk-Computername (Netzwerk-Identifikation > Computername) sein, weil der so lange gilt, wie der PC lebt.

Weiß jemand, wie ich diesen Namen über VBA abfragen kann?

Werner

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA-Abfrage Computername
06.09.2002 14:30:37
JürgenR
Hi,

schau mal hier nach:

https://www.herber.de/forum/archiv/52to56/t55432.htm

Gruß
Jürgen

Re: VBA-Abfrage Computername
06.09.2002 14:32:29
Markus
Auf die Art, dieser Code ist nicht von mir, sondern aus dem Netz:

Declare Function GetComputerName& Lib "kernel32" Alias "GetComputerNameA" (ByVal lbbuffer As String, nsize As Long)
' Liest Computernamen aus
' Code muss in Modul
' im Arbeitsmappe kann dann aufgerufen werden:
' NameC = cptName()
Function cptName()
Dim z As String * 64
Call GetComputerName(z, 64)
cptName = z
End Function

Gruss,

Markus

Anzeige
Re: VBA-Abfrage Computername
06.09.2002 14:39:10
Werner Theis
Danke an beide (Markus + Jürgen) - funzt prima! Bei der Suche nach bereits abgearbeiteten Themen guck' ich beim nächsten Mal auch genauer hin :-))

Werner

;

Forumthreads zu verwandten Themen

Anzeige

Infobox / Tutorial

Computername über VBA auslesen


Schritt-für-Schritt-Anleitung

Um den Computername in Excel über VBA auszulesen, kannst du den folgenden Code verwenden. Dieser nutzt die API-Funktion GetComputerName, um den Namen des Computers zu erhalten.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul aus, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    
    Function cptName() As String
       Dim z As String * 64
       Dim nLen As Long
       nLen = 64
       Call GetComputerName(z, nLen)
       cptName = Left(z, InStr(z, vbNullChar) - 1) ' Entferne Null-Zeichen
    End Function
  4. Schließe den VBA-Editor.

  5. Um den Computername in einer Zelle anzuzeigen, kannst du in eine Zelle folgendes eingeben:

    =cptName()

Jetzt wird der Computername in der Zelle angezeigt.


Häufige Fehler und Lösungen

Fehler: Es wird ein Fehler angezeigt, wenn ich versuche, den Code auszuführen.
Lösung: Stelle sicher, dass du den Code im richtigen Modul eingefügt hast und dass die API-Deklaration korrekt ist.

Fehler: Der zurückgegebene Computername ist nicht lesbar oder zeigt Sonderzeichen an.
Lösung: Überprüfe die Verwendung von Left und InStr im Code, um sicherzustellen, dass das Null-Zeichen entfernt wird.


Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch PowerShell nutzen, um den Computername auszulesen:

  1. Öffne PowerShell.
  2. Führe den folgenden Befehl aus:

    $env:COMPUTERNAME

Diese Methode ist einfach und benötigt kein VBA, bietet jedoch nicht die Integration in Excel.


Praktische Beispiele

Hier ein Beispiel, wie du den Computername in einer Excel-Datei verwenden kannst:

  1. Erstelle eine neue Excel-Datei.
  2. Füge eine Schaltfläche ein (Entwicklertools > Einfügen > Schaltfläche).
  3. Weise der Schaltfläche das Makro cptName zu, das den Computername ausgibt.

Diese Methode ist nützlich, um den vba computername direkt in einem Arbeitsblatt zu verwenden.


Tipps für Profis

  • Verwende die Funktion Application.UserName zusammen mit dem Computername, um Benutzer spezifische Informationen in deiner Excel-Anwendung zu kombinieren.
  • Denke daran, dass du auch den Computername im VBA-Code nutzen kannst, um Berechtigungen oder spezielle Funktionen basierend auf dem verwendeten PC zu implementieren.

FAQ: Häufige Fragen

1. Wie kann ich den Computername in einer Access-Datenbank auslesen?
Du kannst ähnlich vorgehen und den VBA-Code anpassen, um den Computername in einer Access-Anwendung zu verwenden.

2. Kann ich den Computername in einer Excel-Datei speichern?
Ja, du kannst den ausgelesenen Computername in einer Zelle speichern oder in einer Datenbanktabelle ablegen, um ihn später zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige