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
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige