IP adres gebruiker ophalen en in een tekstveld opslaan

Status
Niet open voor verdere reacties.

Paul63

Gebruiker
Lid geworden
28 jan 2013
Berichten
9
Goedendag,

Is er een vba methode om het IP adres van een user op te halen en deze aan een bound textveld op een formulier toe te voegen?

Alvast bedankt.

Paul
 
Thanks,

Deze had ik ook gevonden echter hoe krijg ik dit in een tekstvak.

Paul
 
Ja. Het lukt me niet om "Debug.Print strIPAddress" om te zetten in een code voor een tekstvak. Zal gebrek aan vba kennis zijn..... Heb geprobeerd met Me.txtIP = strIPAddress maar dat lukt niet.
Dus ik hoop dat je me op weg kunt helpen.

Paul
 
Dat werkt alleen met een functie, en ze hebben er een sub van gemaakt, geen functie. Toch is dat simpel: het woord SUB vervangen door FUNCTION. Dan ben je er al bijna. Om het je makkelijk te maken: hier de functie zoals hij werkt.
Code:
Public Function GetIPAddresses(Optional blnFilterLocalhost As Boolean = False) As String
Dim Ret As Long, Tel As Long
Dim bytBuffer() As Byte
Dim IPTableRow As IPINFO
Dim lngCount As Long
Dim lngBufferRequired As Long
Dim lngStructSize As Long
Dim lngNumIPAddresses As Long
Dim strIPAddress As String
Dim tmpStr As String

On Error GoTo ErrorHandler:
    Call GetIpAddrTable(ByVal 0&, lngBufferRequired, 1)

    If lngBufferRequired > 0 Then
        ReDim bytBuffer(0 To lngBufferRequired - 1) As Byte
        If GetIpAddrTable(bytBuffer(0), lngBufferRequired, 1) = 0 Then
            'We've successfully obtained the IP Address details...
            'How big is each structure row?...
            lngStructSize = LenB(IPTableRow)
            'First 4 bytes is a long indicating the number of entries in the table
            CopyMemory lngNumIPAddresses, bytBuffer(0), 4
            While lngCount < lngNumIPAddresses
                'bytBuffer contains the IPINFO structures (after initial 4 byte long)
                CopyMemory IPTableRow, bytBuffer(4 + (lngCount * lngStructSize)), lngStructSize
                strIPAddress = ConvertIPAddressToString(IPTableRow.dwAddr)
                If Not ((strIPAddress = "127.0.0.1") And blnFilterLocalhost) Then
                    'Replace this with whatever you want to do with the IP Address...
                    If Not tmpStr = "" Then tmpStr = tmpStr & ";"
                    tmpStr = tmpStr & strIPAddress
                End If
                lngCount = lngCount + 1
            Wend
        End If
    End If
    GetIPAddresses = tmpStr
Exit Function

ErrorHandler:
    MsgBox "An error has occured in GetIPAddresses():" & vbCrLf & vbCrLf & Err.Description & " (" & CStr(Err.Number) & ")"

End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan