web-dev-qa-db-fra.com

Obtenir le nom de l'ordinateur à l'aide de VBA

Existe-t-il un moyen d'obtenir le nom de l'ordinateur en VBA?

Dim sHostName As String

' Get Host Name / Get Computer Name

sHostName = Environ$("computername")
57
Tommy

Vous pouvez faire comme ça:

Sub Get_Environmental_Variable()

Dim sHostName As String
Dim sUserName As String

' Get Host Name / Get Computer Name    
sHostName = Environ$("computername")

' Get Current User Name    
sUserName = Environ$("username")

End Sub
17
Sarfraz

On dirait que je suis en retard au jeu, mais c'est une question courante ...

C'est probablement le code que vous souhaitez.

Veuillez noter que ce code est dans le domaine public, de Usenet, MSDN et le blog Excellerando .


Fonction publique ComputerName () As String 'Renvoie le nom d'hôte
"Utilise la liaison tardive: mauvais pour les performances et la stabilité, utile pour la portabilité du code ". La déclaration correcte est:
'Dim objNetwork As IWshRuntimeLibrary.WshNetwork ' Set objNetwork = New IWshRuntimeLibrary.WshNetwork
Dim objNetwork As Object
Set objNetwork = CreateObject("WScript.Network")

ComputerName = objNetwork.ComputerName

Set objNetwork = Nothing

Fonction de fin

Vous en aurez probablement aussi besoin:


Fonction publique UserName (Facultatif WithDomain As Boolean = False) As String 'Renvoie le nom de réseau de l'utilisateur
"Utilise la liaison tardive: mauvais pour les performances et la stabilité, utile pour la portabilité du code ". La déclaration correcte est:
'Dim objNetwork As IWshRuntimeLibrary.WshNetwork ' Set objNetwork = New IWshRuntimeLibrary.WshNetwork
Dim objNetwork As Object
Set objNetwork = CreateObject("WScript.Network")

If WithDomain Then
    UserName = objNetwork.UserDomain & "\" & objNetwork.UserName
Else
    UserName = objNetwork.UserName
End If

Set objNetwork = Nothing

Fonction de fin
8
Nigel Heffernan