Re: [请益] excel vba的ip range展开成连续个别ip的

楼主: cutekid (可爱小孩子)   2021-09-27 02:53:12
Sub demo()
ip = "10.0.0.1-3"
Set re = CreateObject("vbscript.regexp")
re.Pattern = "(\d+.\d+.\d+.)(\d+)-(\d+)"
With re.Execute(ip)(0)
p = .submatches(0)
For i = .submatches(1) To .submatches(2)
s = s & p & i & vbCrLf
Next
End With
Debug.Print s
End Sub
※ 引述《kino818 (乞丐下大愿panhandler)》之铭言:
: 由于公司要盘点防火墙规则成excel特定格式
: 之前都人工盘点,很费时
: 最近学了点excel vba,还没很熟
: 已完成下面
: 1.config xml转html(利用python)
: 2.vba自动读入html成excel资料
: 3.防火墙规则分类
: 后面还要转成公司格式,没太大问题
: 现在遇到ip range展开成连续个别ip的作法抉择?
: 下面是网页把10.0.0.1-10.0.0.3转成连续多储存格个别ip
: https://www.mrexcel.com/board/threads/excel-expand-ip-address-range-to-individual-ip.1148927/
: 我防火墙上ip range格式为10.0.0.1-3想转成一个储存格内的资料10.0.0.1 10.0.0.2
: 10.0.0.3
: 我还不了解excel vba的Ubound()与array用法
: 想请教我各位先进ip range是10.0.0.1-10.0.0.3或10.0.0.1-3哪种表示法比较容易实现
: coding?
: 我自己回答,应该是第一种表示法最易vba实现,上面网页可提供方向
: 但第二种表示法能够用vba写出来吗?
: 感谢
:
作者: MOONY135 (谈无欲)   2021-09-27 07:59:00
感觉可以先转成十进制 然后count上去再转回二进制再转回ip格式

Links booklink

Contact Us: admin [ a t ] ucptt.com