WritePoke



Sub Poke(ByVal address As Long, value As Variant, Optional ByVal ValueType As _
VbVarType = -1)
' if a data type wasn't provided, use VarType()

If ValueType = -1 Then ValueType = VarType(value)
Select Case ValueType
Case vbByte
CopyMemory ByVal address, CByte(value), 1
Case vbInteger
CopyMemory ByVal address, CInt(value), 2
Case vbBoolean
CopyMemory ByVal address, CBool(value), 2
Case vbLong
CopyMemory ByVal address, CLng(value), 4
Case vbSingle
CopyMemory ByVal address, CSng(value), 4
Case vbDouble
CopyMemory ByVal address, CDbl(value), 8
Case vbCurrency
CopyMemory ByVal address, CCur(value), 8
Case vbDate
CopyMemory ByVal address, CDate(value), 8
Case vbVariant
CopyMemory ByVal address, value, 16
Case Else
Err.Raise 1001, , "Unsupported data type"
End Select

End Sub



(writepoke.html)- by Paolo Puglisi - Modifica del 25/3/2019