ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8315|回复: 10

[求助]测本机IP

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-8-24 23:15 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:WMI应用
请问VBA可以测得使用者机器的IP吗?也就是本机IP。请高手分享下代码

TA的精华主题

TA的得分主题

发表于 2008-8-25 01:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用zhu235007在2008-8-24 23:15:16的发言:
请问VBA可以测得使用者机器的IP吗?也就是本机IP。请高手分享下代码

代码很简单,操作稍稍有点复杂!

代码中使用了MSWINSOCK.OCX控件,但是一直起来,如何注册MSWINSOCK.OCX困扰了不少人。在此,老朽将自己的收藏奉献给坛友们!

Sub Zldccmx()
    MsgBox CreateObject("MSWinsock.Winsock").LocalIP
End Sub

请下载附件 UkP67YWA.rar (48.99 KB, 下载次数: 223)

然后将附件中的两个文件(MSWINSCK.OCX + MSWINSCK.REG)拷贝到WINDOWS目录下的SYSTEM32子目录中,然后合并MSWINSCK.REG进行注册!

BTW:附件绝对不含病毒,MSWINSCK.REG注册表文件中的内容如下,绝对不是病毒,放心使用!

REGEDIT
HKEY_CLASSES_ROOT\Licenses = Licensing: Copying the keys may be a violation of established copyrights.

// Winsock Control 6.0 license key
HKEY_CLASSES_ROOT\Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d = mlrljgrlhltlngjlthrligklpkrhllglqlrk


TA的精华主题

TA的得分主题

发表于 2008-8-25 01:21 | 显示全部楼层
QUOTE:
以下是引用zhu235007在2008-8-24 23:15:16的发言:
请问VBA可以测得使用者机器的IP吗?也就是本机IP。请高手分享下代码

rPWrRTlT.rar (5.66 KB, 下载次数: 527)


这是成功的例子! 就一行代码!

TA的精华主题

TA的得分主题

发表于 2008-8-25 07:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

可使用WMI搞定

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
 
For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
        For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
            WScript.Echo IPConfig.IPAddress(i)
        Next
    End If
Next

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-8-27 23:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zldccmx真的太感谢你了,帖子过了一天都没有人回复我以为没有人回了呢,没想到zldccmx给了这么一句经典的代码,我最喜欢请回帖的高手吃饭了,你给了我最好的代码我会请你到最好的饭店!!!!

TA的精华主题

TA的得分主题

发表于 2008-9-28 16:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

三楼的好象不能运行,打开文件后就要进行调试.

TA的精华主题

TA的得分主题

发表于 2008-9-28 22:08 | 显示全部楼层
QUOTE:
以下是引用pzxwzy在2008-9-28 16:20:42的发言:

三楼的好象不能运行,打开文件后就要进行调试.

先按二楼的步骤走一遍!

TA的精华主题

TA的得分主题

发表于 2009-4-7 11:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-7 11:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub IP地址()
ComputerName = "localhost"
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate}//" & ComputerName).ExecQuery("SELECT index, IPAddress FROM Win32_NetworkAdapterConfiguration")
For Each OpSys In OpSysSet
If TypeName(OpSys.IPAddress) <> "Null" Then
For Each IP In OpSys.IPAddress
MsgBox IP, 64, "IP地址"
Next
End If
Next
End Sub

TA的精华主题

TA的得分主题

发表于 2009-4-7 13:09 | 显示全部楼层
原帖由 jxb8088 于 2009-4-7 11:56 发表
Sub IP地址()
ComputerName = "localhost"
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate}//" & ComputerName).ExecQuery("SELECT index, IPAddress FROM Win32_NetworkAdapterConfigurati ...


运行达到我要的效果的
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-31 01:01 , Processed in 0.027947 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表