【VBA】コンピューター名を取得する【シンプル】

VBAで
 ・コンピューター名を取得
できます!

取得方法は複数ありますが、ここでは私が
 ・1番シンプルと考える方法
を記載します!

Environ(“COMPUTERNAME”)」により、
コンピューター名を取得できます!

PR

VBAコード

「Environ関数」を使用して取得します。

Sub sample()
    'コンピューター名を取得
    MsgBox Environ("COMPUTERNAME")
End Sub

Environ関数」の引数に「COMPUTERNAME」を指定することで、「コンピューター名」を取得できます。

PR

実行結果

コンピューター名を取得できました。

実行結果
実行結果
コンピューター名
コンピューター名
PR

参考①

「コンピューター名」のみでなく、「Environ関数」により「ログインユーザー名」や「CPUの名称」も取得できます。

詳細は以下の記事をご確認ください。


PR

参考②

Environ関数」はWindowsの環境変数に設定された値を取得するモノです。
上記以外も取得できます。

詳細は公式サイトをご確認ください。


PR

参考③

WScript.Shell」の「SpecialFolders」により、デスクトップのパスを取得できます。

詳細は以下の記事をご確認ください。

PR

参考④

コンピューター名は「WshNetworkオブジェクト」でも取得できます。

ただEnviron関数を使用した方法のほうがシンプルのため、こちらの使用はオススメしません。
知識として知っておくだけでよいです。

'変数の宣言を必須
Option Explicit

Sub sample()

    Dim wnet As Object
    
    Set wnet = CreateObject("WScript.Network")
    
    'コンピューター名を取得
    MsgBox (wnet.ComputerName)
    
    '後片付け
    Set wnet = Nothing
    
End Sub

「WshNetworkオブジェクト」の「ComputerName」プロパティにより、コンピューター名を取得します(11行目)。


「WshNetworkオブジェクト」の詳細は、公式サイトをご確認ください。

PR

参考⑤

コンピューター名はWindows APIの1つである「GetComputerName関数」でも取得できます。

ただやはりEnviron関数を使用した方法のほうがシンプルのため、こちらの使用もオススメしません。
知識として知っておくだけでよいです。

Option Explicit

'Windows API「GetComputerName」
Declare PtrSafe Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Sub sample()
    
    Dim computerName As String * 255
    
    'コンピューター名を取得を取得
    If GetComputerName(computerName, 255) <> 0 Then
        MsgBox computerName
    Else
        MsgBox "コンピューター名を取得の取得に失敗しました。"
    End If

End Sub
タイトルとURLをコピーしました