anhtuan1066
Thành viên gạo cội




- Tham gia
- 10/3/07
- Bài viết
- 5,802
- Được thích
- 6,912
Đề tài này xuất phát từ 1 nhu cầu thực tế. Tôi dùng Laptop có kết nối Wireless
- Ban ngày, khi đi làm, tôi phải set IP cho phù hợp với mạng tại cty
- Lúc về nhà tôi phải set lại IP theo chế độ tự động
Cảm thấy ngày nào cũng làm công việc nhàm chán này và đôi lúc lại gõ nhầm số (mắt kém) nên tôi có ý định viết ra 1 code VBA với 2 chức năng:
- Set IP theo những thông số cho sẳn
- Set IP theo chế độ tự động
Loay hoay mấy ngày nay, cuối cùng cũng thành công
Để set IP theo các thông số cho trước, chạy sub Execute_SetIP
Để set IP theo chế độ tự đong, chạy sub Execute_AutoIP
Toàn bộ code dựa trên các thao tác khi dùng lệnh DOS (khá đơn giản). Mời các bạn tham khảo file đính kèm
Lưu ý: Nếu có nhu cầu giống tôi, các bạn phải thay đổi các thông số Network Name, IP Address, Subnet Mask, Default Getway, DNS1 và DNS2... cho phù hợp với mạng mình đang dùng nhé
- Ban ngày, khi đi làm, tôi phải set IP cho phù hợp với mạng tại cty
- Lúc về nhà tôi phải set lại IP theo chế độ tự động
Cảm thấy ngày nào cũng làm công việc nhàm chán này và đôi lúc lại gõ nhầm số (mắt kém) nên tôi có ý định viết ra 1 code VBA với 2 chức năng:
- Set IP theo những thông số cho sẳn
- Set IP theo chế độ tự động
Loay hoay mấy ngày nay, cuối cùng cũng thành công
PHP:
Private Sub SetIp(nwName As String, varIp As String, varSm As String, _
varGw As String, varDNS1 As String, varDNS2 As String)
Dim sComm1 As String, sComm2 As String, sComm3 As String, sComm4 As String
On Error Resume Next
sComm1 = "netsh interface ip set address name=""" & nwName & """ source=static addr=" & varIp & " mask=" & varSm
sComm2 = "netsh interface ip set address name=""" & nwName & """ gateway=" & varGw & " gwmetric=0"
sComm3 = "netsh interface ip set dns name=""" & nwName & """ source=static addr=" & varDNS1
sComm4 = "netsh interface ip add dns name=""" & nwName & """ addr = " & varDNS2
With CreateObject("Wscript.Shell")
.Run "cmd /c " & sComm1, 0, True
.Run "cmd /c " & sComm2, 0, True
.Run "cmd /c " & sComm3, 0, True
.Run "cmd /c " & sComm4, 0, True
End With
MsgBox "Finish"
End Sub
PHP:
Private Sub AutoIP(nwName As String)
Dim sComm1 As String, sComm2 As String
sComm1 = "netsh interface ip set address name=""" & nwName & """ dhcp"
sComm2 = "netsh interface ip set dns name=""" & nwName & """ dhcp"
With CreateObject("Wscript.Shell")
.Run "cmd /c " & sComm1, 0, True
.Run "cmd /c " & sComm2, 0, True
End With
MsgBox "Finish"
End Sub
PHP:
Sub Execute_SetIP()
Dim nwName As String, varIp As String, varSm As String
Dim varGw As String, varDNS1 As String, varDNS2 As String
nwName = "Wireless Network Connection"
varIp = "211.54.133.251"
varSm = "255.255.252.0"
varGw = "211.54.135.253"
varDNS1 = "211.54.128.1"
varDNS2 = "211.54.135.251"
SetIp nwName, varIp, varSm, varGw, varDNS1, varDNS2
End Sub
PHP:
Sub Execute_AutoIP()
Dim nwName As String
nwName = "Wireless Network Connection"
AutoIP nwName
End Sub
Để set IP theo chế độ tự đong, chạy sub Execute_AutoIP
Toàn bộ code dựa trên các thao tác khi dùng lệnh DOS (khá đơn giản). Mời các bạn tham khảo file đính kèm
Lưu ý: Nếu có nhu cầu giống tôi, các bạn phải thay đổi các thông số Network Name, IP Address, Subnet Mask, Default Getway, DNS1 và DNS2... cho phù hợp với mạng mình đang dùng nhé