教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでWindowsAPIを使いPC名を取得する方法

API宣言

WindowsAPI(関数)を使うためには、事前に宣言が必要となります。

Declare PtrSafe Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, ByRef nSize As Long) As Long

解説

この宣言では、GetComputerName関数(使用しているPC名を取得)が使用できる様になります。

プログラミング例

具体的なプログラミング例を紹介します。

Sub コンピュータ名を取得()
    Dim コンピュータ名 As String * 255
    Dim サイズ As Long
    サイズ = 255
    ' GetComputerName関数を呼び出して、コンピュータ名を取得
    If GetComputerName(コンピュータ名, サイズ) Then
        ' コンピュータ名をメッセージボックスで表示
        MsgBox "このコンピュータの名前は " & Left(コンピュータ名, サイズ) & " です。"
    Else
        ' 取得に失敗した場合のメッセージ
        MsgBox "コンピュータ名の取得に失敗しました。"
    End If
End Sub

上記のプログラムは、使用しているPC名が取得できた時にはPC名を表示し、取得できない場合は「コンピュータ名の取得に失敗しました。」を表示します。

まとめ

WindowsAPI関数:GetComputerNameを使用し、PC名を取得する方法を紹介しました。