Получение имени компьютера с помощью VBA

есть ли способ получить имя компьютера в VBA?

3 ответов


Dim sHostName As String

' Get Host Name / Get Computer Name

sHostName = Environ$("computername")

вы можете сделать так:

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

похоже, я опаздываю на игру, но это общий вопрос...

это, вероятно, код, который вы хотите.

обратите внимание, что этот код находится в открытом доступе, из Usenet, MSDN и блог Excellerando.


Public Function ComputerName() As String ' Returns the host name

' Uses late-binding: bad for performance and stability, useful for ' code portability. The correct declaration is:

' 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

Конец Функции

вам, вероятно, это тоже понадобится:


Public Function UserName(Optional WithDomain As Boolean = False) As String ' Returns the user's network name

' Uses late-binding: bad for performance and stability, useful for ' code portability. The correct declaration is:

' 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

Завершение Функции