kiểm tra kết nối internet bằng vba

Liên hệ QC

vanptg

Thành viên mới
Tham gia
6/10/13
Bài viết
2
Được thích
0
Em cần code kiểm tra máy tính có đang kết nối internet hay không, và tìm thấy code này. Tuy nhiên nó không work được trên máy 64 bit. Mong các anh em chỉnh sửa và hướng dẫn giúp
Xin cảm ơn trước ạ.

Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long

'Testing for internet connection
Public Function IsInternetConnected() As Boolean

IsInternetConnected = InternetGetConnectedStateEx(0, "", 254, 0)

End Function
 
Em cần code kiểm tra máy tính có đang kết nối internet hay không, và tìm thấy code này. Tuy nhiên nó không work được trên máy 64 bit. Mong các anh em chỉnh sửa và hướng dẫn giúp
Xin cảm ơn trước ạ.

Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long

'Testing for internet connection
Public Function IsInternetConnected() As Boolean

IsInternetConnected = InternetGetConnectedStateEx(0, "", 254, 0)

End Function

Mình gửi bạn tham khảo chơi như file, nếu máy tính có kết nối mạng sẽ link vào trang goole, còn máy tính chưa kết nối mạng sẽ thông báo.

Mã:
Sub KetNoi()
Dim OpenWebPage()
     On Error Resume Next
      On Error GoTo loi
      ActiveWorkbook.FollowHyperlink "https://www.google.com.vn/", NewWindow:=True
      Exit Sub
loi:       MsgBox "May Tinh Chua Ket Noi Mang", vbQuestion, "Thông Báo"
End Sub
 

File đính kèm

Upvote 0
@Bài 2:
Có cách nào khác không? Nhà mình GPE vào được, còn Google không kết nối được. -\\/.-\\/.
 
Upvote 0
Em cần code kiểm tra máy tính có đang kết nối internet hay không, và tìm thấy code này. Tuy nhiên nó không work được trên máy 64 bit. Mong các anh em chỉnh sửa và hướng dẫn giúp
Xin cảm ơn trước ạ.

Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long

'Testing for internet connection
Public Function IsInternetConnected() As Boolean

IsInternetConnected = InternetGetConnectedStateEx(0, "", 254, 0)

End Function
Vầy thử xem sao:
Mã:
Public Sub CheckConnect()
  Dim isConnected As Boolean
  isConnected = InternetStatus
  MsgBox "May Tinh " & IIf(isConnected, "dang", "chua") & " ket noi Internet", 64, "Thông Báo"
End Sub
Function InternetStatus() As Boolean
  On Error Resume Next
  With CreateObject("MSXML2.ServerXMLHTTP.6.0")
    .Open "GET", "http://www.google.com"
    .Send
  End With
  InternetStatus = (Err.Number = 0)
End Function
 
Upvote 0
Em cần code kiểm tra máy tính có đang kết nối internet hay không, và tìm thấy code này. Tuy nhiên nó không work được trên máy 64 bit. Mong các anh em chỉnh sửa và hướng dẫn giúp
Xin cảm ơn trước ạ.

Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long

'Testing for internet connection
Public Function IsInternetConnected() As Boolean

IsInternetConnected = InternetGetConnectedStateEx(0, "", 254, 0)

End Function

Không "work" nghĩa là sao? Không compile thì nói không compile. Muốn bầy tôi thì cũng ráng cho dễ hiểu 1 chút.

64 bit: Chèn thêm từ PtrSafe vào giữa Declare và Function
 
Upvote 0
Vầy thử xem sao:
Mã:
Public Sub CheckConnect()
  Dim isConnected As Boolean
  isConnected = InternetStatus
  MsgBox "May Tinh " & IIf(isConnected, "dang", "chua") & " ket noi Internet", 64, "Thông Báo"
End Sub
Function InternetStatus() As Boolean
  On Error Resume Next
  With CreateObject("MSXML2.ServerXMLHTTP.6.0")
    .Open "GET", "http://www.google.com"
    .Send
  End With
  InternetStatus = (Err.Number = 0)
End Function

Ủa sao máy em thử code này báo "chưa" vào internet, mặc dù trình duyệt vẫn vào được google vậy anh ơi ?
 
Upvote 0
Lúc bạn thử thì "chưa", qua cửa sổ trình duyệt thì "vào", trở lại code thì lại bị đứt ra... Cứ thế.

Xui quá nhỉ ?
Nhưng ở đây em muốn hỏi anh chữ vàng là trong trường hợp nào máy vẫn vô được internet nhưng chạy code trên sẽ không vào được ? mà anh ấy lơ em luôn rồi -\\/.
 
Upvote 0
Xui quá nhỉ ?
Nhưng ở đây em muốn hỏi anh chữ vàng là trong trường hợp nào máy vẫn vô được internet nhưng chạy code trên sẽ không vào được ? mà anh ấy lơ em luôn rồi -\\/.
Theo tôi thì bạn thừa sức tự tạo ra các trường hợp đó để tét cốt.
 
Upvote 0
Theo tôi thì bạn thừa sức tự tạo ra các trường hợp đó để tét cốt.

Ấy em đâu có đủ sức mạnh đó. Em chỉ muốn góp ý với anh chữ màu cam là cái object mà anh ta đang xài sẽ KHÔNG sử dụng proxy mặc định của internet option, như vậy ở môi trường công ty có cấu hình proxy, code đó sẽ không vào được internet, cũng có thể có vài trường hợp nào đó khác mà anh ấy biết, nhưng em hỏi rất ít khi anh ấy trả lời, có thể là ghét em lắm o_O
 
Upvote 0
nhưng em hỏi rất ít khi anh ấy trả lời, có thể là ghét em lắm o_O
Có biết đâu mà trả lời!
Mình không có điều kiện test nên không chắc. Mà đã không chắc thì không dám trả lời bậy bạ
(thấy trên máy mình nó chạy nên đưa lên cho bà con tham khảo, tới đâu hay tới đó vậy)
 
Upvote 0
Cô/cậu ăn cơm ở mấy cái diễn đàn JavaScript chứ cái mớ VBA này chỉ là phở thôi.
(đoán thử xem cơm nhà tôi ở đâu?)

Lại dụ nhau vi phạm nội quy nữa, đám nào mà chả có anh, anh giỏi quản lý dữ liệu hơn, cơm nhà anh phải hỏi bà xã coi nấu chưa ?:)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom