GetComputerName関数は、Windows APIの一部であり、実行中のコンピュータの名前を取得するために使用されます。この関数は、コンピュータ名を格納するバッファを指定して呼び出すことができます。
API宣言
まず、GetComputerName関数をExcel VBAで使用するために、以下のAPI宣言が必要です。
Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
この宣言により、GetComputerName関数を使用するための準備が整います。
使い方
GetComputerName関数を使用するには、コンピュータ名を格納するバッファを指定する必要があります。以下のコードは、GetComputerName関数を使用して、コンピュータ名を取得する例です。
Dim buffer As String * 256
Dim length As Long
length = Len(buffer)
' コンピュータ名を取得する
GetComputerName buffer, length
' コンピュータ名を表示する
MsgBox "コンピュータ名は " & Left(buffer, length) & " です。"
End Sub
このコードでは、変数bufferを256バイトの文字列型で宣言しています。この変数に、コンピュータ名を格納します。length変数に、buffer変数の長さを設定します。
GetComputerName関数を呼び出すために、GetComputerName関数にbufferとlength変数を渡します。GetComputerName関数は、実行中のコンピュータの名前をbuffer変数に格納します。その後、MsgBox関数を使用して、コンピュータ名を表示します。
プログラミング例
以下のコードは、GetComputerName関数を使用してコンピュータ名を取得し、セルに表示する例です。
Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Sub GetComputerNameExample()
Dim buffer As String * 256
Dim length As Long
length = Len(buffer)
' コンピュータ名を取得する
GetComputerName buffer, length
' コンピュータ名をセルに表示する
Range("A1").Value = Left(buffer, length)
End Sub
このコードでは、GetComputerName関数を使用して、コンピュータ名をbuffer変数に格納します。その後、Rangeオブジェクトを使用して、A1セルにコンピュータ名を表示します。
まとめ
GetComputerName関数を使用することで、現在実行されているコンピュータの名前を取得することができます。Windows APIを使用することで、より高度な機能を実現することができますので、是非活用してみてください。