WEB开发网
开发学院软件教学办公软件Excel 用EXCEL得出本机用户名及IP 阅读

用EXCEL得出本机用户名及IP

 2008-08-26 14:29:14 来源:WEB开发网   
核心提示:PRivate Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, _ nSize As Long) As LongPrivate

PRivate Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, _
                         nSize As Long) As Long
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _
                             (ByVal lpBuffer As String, _
                             nSize As Long) As Long
Sub Get_Computer_Name()
   '获得当前的机器名称
   Dim Comp_Name_B As String * 255
   Dim Comp_Name As String
   GetComputerName Comp_Name_B, Len(Comp_Name_B)
   Comp_Name = Left(Comp_Name_B, InStr(Comp_Name_B, Chr(0)))
    MsgBox "您正在使用的这台机器名为:" & Comp_Name, vbOKOnly, "WINAK"
End Sub
Sub Get_User_Name()

'获得当前用户名
     Dim lpBuff As String * 25
   Dim ret As Long, UserName As String
   ret = GetUserName(lpBuff, 25)
   UserName = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)
     MsgBox "当前用户名:" & UserName, vbOKOnly, "WINAK"
   End Sub

--------------------------------------------------------------------------------

获取ip地址

1、局域网内IP地址及网卡MAC地址

Sub IP()
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
   ("Select * from Win32_NetworkAdapterConfiguration ")
For Each IPConfig In IPConfigSet
On Error Resume Next
s = ""
  s = s & "Description:  " & IPConfig.Description & vbCrLf
     ss = ""
     For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
       ss = ss & IPConfig.IPAddress(i) & "  "
     Next
  s = s & "IPAddress:  " & ss & vbCrLf
  s = s & "MACAddress:  " & IPConfig.MACAddress & vbCrLf
MsgBox s
Next
End Sub

2、外网IP地址

Sub Sample4()
   Dim WSH, wExec, sCmd As String, Result As String, tmp, buf As String, i As Long
   Set WSH = CreateObject("WScript.Shell")
   sCmd = "nslookup baidu.com"
   Set wExec = WSH.Exec("%ComSpec% /c " & sCmd)
   Do While wExec.Status = 0
     DoEvents
   Loop
   Result = wExec.StdOut.ReadAll
   tmp = Split(Result, vbCrLf)
   For i = 0 To UBound(tmp)
     If Left(tmp(i), 5) = "Name:" Then
       buf = tmp(i + 1)
     End If
   Next i
   MsgBox buf
   Set wExec = Nothing
   Set WSH = Nothing
End Sub

 


--------------------------------------------------------------------------------

获取计算机名也可用

MsgBox Environ("Computername")

--------------------------------------------------------------------------------

Sub 获得计算机名和使用者名()
Dim myStr As String
Set myWshNw = CreateObject("Wscript.Network")
myStr = myStr & "计算机名称 = " & myWshNw.ComputerName & vbCrLf
myStr = myStr & "使用者姓名 = " & myWshNw.UserName & vbCrLf
MsgBox myStr
End Sub


 


--------------------------------------------------------------------------------

获取IP方法

Private Sub CommandButton2_Click()
   GetMyIP
End Sub

Private Sub CommandButton3_Click()
   test
End Sub

Private Sub CommandButton4_Click()
   TestingFunction
End Sub

Private Sub CommandButton5_Click()
   ip_REMOTECOMPUTER
End Sub

Private Sub CommandButton6_Click()
   exeIpconfig
End Sub

Private Sub CommandButton7_Click()
   ipconfigAll
End Sub

Tags:EXCEL 得出 本机

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接