VBAで
・コンピューター名を取得
できます!
取得方法は複数ありますが、ここでは私が
・1番シンプルと考える方法
を記載します!
「Environ(“COMPUTERNAME”)」により、
コンピューター名を取得できます!
VBAコード
「Environ関数」を使用して取得します。
Sub sample()
'コンピューター名を取得
MsgBox Environ("COMPUTERNAME")
End Sub
実行結果
コンピューター名を取得できました。
参考①
「コンピューター名」のみでなく、「Environ関数」により「ログインユーザー名」や「CPUの名称」も取得できます。
詳細は以下の記事をご確認ください。
参考②
「Environ関数」はWindowsの環境変数に設定された値を取得するモノです。
上記以外も取得できます。
詳細は公式サイトをご確認ください。
参考③
「WScript.Shell」の「SpecialFolders」により、デスクトップのパスを取得できます。
詳細は以下の記事をご確認ください。
参考④
コンピューター名は「WshNetworkオブジェクト」でも取得できます。
ただEnviron関数を使用した方法のほうがシンプルのため、こちらの使用はオススメしません。
知識として知っておくだけでよいです。
'変数の宣言を必須
Option Explicit
Sub sample()
Dim wnet As Object
Set wnet = CreateObject("WScript.Network")
'コンピューター名を取得
MsgBox (wnet.ComputerName)
'後片付け
Set wnet = Nothing
End Sub
「WshNetworkオブジェクト」の詳細は、公式サイトをご確認ください。
参考⑤
コンピューター名は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