web-dev-qa-db-ja.com

VBAを使用してコンピューター名を取得する

VBAでコンピューターの名前を取得する方法はありますか?

Dim sHostName As String

' Get Host Name / Get Computer Name

sHostName = Environ$("computername")
57
Tommy

このようにすることができます:

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

私はゲームに遅れているように見えますが、これはよくある質問です...

これはおそらくあなたが望むコードです。

このコードは、Usenet、MSDN、および Excellerandoブログ のパブリックドメインにあることに注意してください。


Public Function ComputerName()As String 'ホスト名 を返します
'遅延バインディングを使用:パフォーマンスと安定性に悪い、 'コードの移植性に役立ちます。正しい宣言は次のとおりです。
'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

終了関数

おそらくこれも必要になるでしょう:


パブリック関数UserName(オプションのWithDomain As Boolean = False)As String 'ユーザーのネットワーク名を返します
'遅延バインディングを使用:パフォーマンスと安定性に悪い、 'コードの移植性に役立ちます。正しい宣言は次のとおりです。
'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

終了関数
8
Nigel Heffernan