نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: ping

  1. #1

    آخرین بازدید
    2014/01/02
    تاریخ عضویت
    January 2012
    نوشته ها
    1
    امتیاز
    0
    سپاس
    2
    سپاس شده
    0 در 0 پست
    تعیین سطح نشده است

    ping

    با سلام در مورد ping با دستور vba راهنمایی بفرمائید
    میخواهم یک شبکه را براساس ip کنترل نمایم که ارتباط برقرار است یه نه ؟
    دستور tracert همچنین مسیر ها را بدهد
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2022/12/05
    تاریخ عضویت
    October 2011
    محل سکونت
    مشهد
    نوشته ها
    4,374
    امتیاز
    12614
    سپاس
    4,596
    سپاس شده
    11,990 در 3,203 پست
    سطح اکسل
    70.00 %

    درود
    متاسفانه در حال حاضر شبکه ای ندارم که تست کنم ولی باید دستوری مانند دستور زیر اجرا کنید
    کد PHP:


    Shell 
    "ping.exe -t " Activecell.Value 




  4. #3


    آخرین بازدید
    2021/09/04
    تاریخ عضویت
    September 2012
    محل سکونت
    قم
    نوشته ها
    193
    امتیاز
    450
    سپاس
    233
    سپاس شده
    507 در 131 پست
    تعیین سطح نشده است

    میتونی از این فایل استفاده کتی
    فايل هاي پيوست شده فايل هاي پيوست شده

  5. سپاس ها (1)


  6. #4


    آخرین بازدید
    2021/09/04
    تاریخ عضویت
    September 2012
    محل سکونت
    قم
    نوشته ها
    193
    امتیاز
    450
    سپاس
    233
    سپاس شده
    507 در 131 پست
    تعیین سطح نشده است

    اینم یه نمونه دیگه
    دوستان تشکر یادتون نره

    فايل هاي پيوست شده فايل هاي پيوست شده

  7. سپاس ها (1)


  8. #5


    آخرین بازدید
    2021/09/04
    تاریخ عضویت
    September 2012
    محل سکونت
    قم
    نوشته ها
    193
    امتیاز
    450
    سپاس
    233
    سپاس شده
    507 در 131 پست
    تعیین سطح نشده است

    دوستان اینم یه نمونه دیگه امیدوارم کمکی کرده باشم

    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xlsm ping.xlsm اطلاعات (18.9 کیلو بایت, 9 نمایش)

  9. سپاس ها (1)


  10. #6


    آخرین بازدید
    2021/09/04
    تاریخ عضویت
    September 2012
    محل سکونت
    قم
    نوشته ها
    193
    امتیاز
    450
    سپاس
    233
    سپاس شده
    507 در 131 پست
    تعیین سطح نشده است

    با این کد کامل میکنم
    کد PHP:
    Option Explicit
     
    Private Const IP_SUCCESS As Long 0
    Private Const IP_STATUS_BASE As Long 11000
    Private Const IP_BUF_TOO_SMALL As Long = (11000 1)
    Private Const 
    IP_DEST_NET_UNREACHABLE As Long = (11000 2)
    Private Const 
    IP_DEST_HOST_UNREACHABLE As Long = (11000 3)
    Private Const 
    IP_DEST_PROT_UNREACHABLE As Long = (11000 4)
    Private Const 
    IP_DEST_PORT_UNREACHABLE As Long = (11000 5)
    Private Const 
    IP_NO_RESOURCES As Long = (11000 6)
    Private Const 
    IP_BAD_OPTION As Long = (11000 7)
    Private Const 
    IP_HW_ERROR As Long = (11000 8)
    Private Const 
    IP_PACKET_TOO_BIG As Long = (11000 9)
    Private Const 
    IP_REQ_TIMED_OUT As Long = (11000 10)
    Private Const 
    IP_BAD_REQ As Long = (11000 11)
    Private Const 
    IP_BAD_ROUTE As Long = (11000 12)
    Private Const 
    IP_TTL_EXPIRED_TRANSIT As Long = (11000 13)
    Private Const 
    IP_TTL_EXPIRED_REASSEM As Long = (11000 14)
    Private Const 
    IP_PARAM_PROBLEM As Long = (11000 15)
    Private Const 
    IP_SOURCE_QUENCH As Long = (11000 16)
    Private Const 
    IP_OPTION_TOO_BIG As Long = (11000 17)
    Private Const 
    IP_BAD_DESTINATION As Long = (11000 18)
    Private Const 
    IP_ADDR_DELETED As Long = (11000 19)
    Private Const 
    IP_SPEC_MTU_CHANGE As Long = (11000 20)
    Private Const 
    IP_MTU_CHANGE As Long = (11000 21)
    Private Const 
    IP_UNLOAD As Long = (11000 22)
    Private Const 
    IP_ADDR_ADDED As Long = (11000 23)
    Private Const 
    IP_GENERAL_FAILURE As Long = (11000 50)
    Private Const 
    MAX_IP_STATUS As Long = (11000 50)
    Private Const 
    IP_PENDING As Long = (11000 255)
    Private Const 
    PING_TIMEOUT As Long 500
    Private Const WS_VERSION_REQD As Long = &H101
    Private Const MIN_SOCKETS_REQD As Long 1
    Private Const SOCKET_ERROR As Long = -1
    Private Const INADDR_NONE As Long = &HFFFFFFFF
    Private Const MAX_WSADescription As Long 256
    Private Const MAX_WSASYSStatus As Long 128
     
    Private Type ICMP_OPTIONS
    Ttl 
    As Byte
    Tos 
    As Byte
    Flags 
    As Byte
    OptionsSize 
    As Byte
    OptionsData 
    As Long
    End Type
     
    Public Type ICMP_ECHO_REPLY
    Address 
    As Long
    status 
    As Long
    RoundTripTime 
    As Long
    DataSize 
    As Long
    'Reserved As Integer
    DataPointer As Long
    Options As ICMP_OPTIONS
    Data As String * 250
    End Type
     Private Type WSADATA
    wVersion As Integer
    wHighVersion As Integer
    szDescription(0 To MAX_WSADescription) As Byte
    szSystemStatus(0 To MAX_WSASYSStatus) As Byte
    wMaxSockets As Long
    wMaxUDPDG As Long
    dwVendorInfo As Long
    End Type
     Private Declare Function IcmpCreateFile Lib "icmp.dll" () As Long
    Private Declare Function IcmpCloseHandle Lib "icmp.dll" (ByVal IcmpHandle As Long) As Long
    Private  Declare Function IcmpSendEcho Lib "icmp.dll" (ByVal IcmpHandle As Long,  ByVal DestinationAddress As Long, ByVal RequestData As String, ByVal  RequestSize As Long, ByVal RequestOptions As Long, ReplyBuffer As  ICMP_ECHO_REPLY, ByVal ReplySize As Long, ByVal Timeout As Long) As Long
    Private Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
    Private Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long
    Private Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
    Private Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHost As String, ByVal dwHostLen As Long) As Long
    Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHost As String) As Long
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (xDest As Any, xSource As Any, ByVal nbytes As Long)
    Private Declare Function inet_addr Lib "WSOCK32.DLL" (ByVal s As String) As Long
     Public Function GetStatusCode(status As Long) As String
     Dim msg As String
     Select Case status
    Case IP_SUCCESS: msg = "ip found"
    Case INADDR_NONE: msg = "invalid ip format"
    Case IP_BUF_TOO_SMALL: msg = "ip error, too small?"
    Case IP_DEST_NET_UNREACHABLE: msg = "ip unreachable"
    Case IP_DEST_HOST_UNREACHABLE: msg = "ip host unreachable"
    Case IP_DEST_PROT_UNREACHABLE: msg = "ip target unreachable"
    Case IP_DEST_PORT_UNREACHABLE: msg = "ip target port blocked"
    Case IP_NO_RESOURCES: msg = "ip too few resources"
    Case IP_BAD_OPTION: msg = "ip wrong option"
    Case IP_HW_ERROR: msg = "ip hardwareerror"
    Case IP_PACKET_TOO_BIG: msg = "ip datapacket too big"
    Case IP_REQ_TIMED_OUT: msg = "ip request timed out"
    Case IP_BAD_REQ: msg = "ip unknown error"
    Case IP_BAD_ROUTE: msg = "ip invalid route"
    Case IP_TTL_EXPIRED_TRANSIT: msg = "ip packets died"
    Case IP_TTL_EXPIRED_REASSEM: msg = "ip packets died"
    Case IP_PARAM_PROBLEM: msg = "ip error on pinging"
    Case IP_SOURCE_QUENCH: msg = "ip error - check system"
    Case IP_OPTION_TOO_BIG: msg = "ip too big"
    Case IP_BAD_DESTINATION: msg = "ip target unreachable"
    Case IP_ADDR_DELETED: msg = "ip address couldn?t be found"
    Case IP_SPEC_MTU_CHANGE: msg = "ip error"
    Case IP_MTU_CHANGE: msg = "ip unknown host-error"
    Case IP_UNLOAD: msg = "ip can not be resolved"
    Case IP_ADDR_ADDED: msg = "ip address unknown on host"
    Case IP_GENERAL_FAILURE: msg = "ip common error"
    Case IP_PENDING: msg = "ip wrong"
    Case PING_TIMEOUT: msg = "ping timeout"
    Case Else: msg = "unknown host error"
    End Select
     GetStatusCode = CStr(status) & " [ " & msg & " ]"
     End Function
     Public Function ping(sAddress As String, _
    sDataToSend As String, _
    ECHO As ICMP_ECHO_REPLY) As Long
     Dim hPort As Long
    Dim dwAddress As Long
     dwAddress = inet_addr(sAddress)
     If dwAddress <> INADDR_NONE Then
    hPort = IcmpCreateFile()
    If hPort Then
    Call IcmpSendEcho(hPort, _
    dwAddress, _
    sDataToSend, _
    Len(sDataToSend), _
    0, _
    ECHO, _
    Len(ECHO), _
    PING_TIMEOUT)
     ping = ECHO.status
    Call IcmpCloseHandle(hPort)
    End If
    Else:
    ping = INADDR_NONE
    End If
    End Function
     Public Sub SocketsCleanup()
    If WSACleanup() <> 0 Then
    MsgBox "Windows Socket Error on Socket Close", vbExclamation
    End If
    End Sub
     Public Function SocketsInitialize() As Boolean
    Dim WSAD As WSADATA
    SocketsInitialize = WSAStartup(WS_VERSION_REQD, WSAD) = IP_SUCCESS
    End Function
     Now add a commandbutton to a sheet and 6 text boxes named text1-6 and  add the following code: (text1 is the ip address and text2 is the data  to "echo"):
     Option Explicit
    '
    this is the ping button
    Private Sub CommandButton1_Click()
     
    Dim ECHO As ICMP_ECHO_REPLY
    Dim pos 
    As Long
    Dim success 
    As Long
    Text3
    .Text ""
    Text4.Text ""
    Text5.Text ""
    Text6.Text ""
    'text1=ipadres; text2=message
    If SocketsInitialize() Then
    success = ping((Text1.Text), (Text2.Text), ECHO)
    '
    pingstatus
    Text3
    .Text GetStatusCode(success)
    'pingtime
    Text4.Text = ECHO.RoundTripTime & " ms"
    '
    packetsize
    Text5
    .Text = ECHO.DataSize " bytes"
     
    If Left$(ECHO.Data1) <> Chr$(0Then
    pos 
    InStr(ECHO.DataChr$(0))
    'received text
    Text6.Text = Left$(ECHO.Data, pos - 1)
    End If
     SocketsCleanup
    Else
    MsgBox "Socket initialisation failure!!"
    End If
    End Sub 
    ویرایش توسط hosseinamerey : 2014/01/02 در ساعت 00:23

  11. سپاس ها (1)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

ping با اکسل

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است