Attribute VB_Name = "xGetComputerName関数" ' @(h) xGetComputerName関数.bas ver 1.3 ( '98.10.08 ) ' @(s) ' コンピュータ名を取得する関数モジュール ' 本モジュールはテスト用コードモジュールです。 ' Option Explicit Public Const MAX_COMPUTERNAME_LENGTH = 64 Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Attribute GetComputerName.VB_ProcData.VB_Invoke_Func = " \n14" Sub xGetComputerNameのテスト() 'ExcelまたはVisual Basicで実行してください。 Attribute xGetComputerNameのテスト.VB_ProcData.VB_Invoke_Func = " \n14" MsgBox "(" & xGetComputerName & ")" End Sub ' @(f) ' ' 機能 : コンピュータ名を取得する関数 ' ' 返り値 : アプリケーションのフルパス名 ' ' 引き数 : なし ' ' 機能説明 : コンピュータ名を取得する関数 ' ' 備考 : UnicodeとAsciiに注意。 ' Function xGetComputerName() As String Attribute xGetComputerName.VB_ProcData.VB_Invoke_Func = " \n14" Dim lpBuffer$, nSize&, dl& lpBuffer$ = String$(MAX_COMPUTERNAME_LENGTH + 1, &H0) nSize& = MAX_COMPUTERNAME_LENGTH dl& = GetComputerName(lpBuffer$, nSize&) 'Visual Basic 'xGetComputerName = StrConv(LeftB(StrConv(lpBuffer$, vbFromUnicode), nSize& ), vbUnicode) 'Excel 'xGetComputerName = LeftB(lpBuffer$, nSize&) xGetComputerName = Left(lpBuffer$, InStr(1, lpBuffer$, Chr(&H0)) - 1) End Function