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