.
no se me ocurre nada mas rapido que esto:
Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As Long)
Private Declare Function VarPtrA Lib "msvbvm60.dll" Alias "VarPtr" (ByRef Ptr() As Any) As Long
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
Private Sub Form_Load()
Dim i As Integer
Dim sVar As String
Dim aStr() As Integer
Dim iDims As Long
sVar = "Miguel Angel"
iDims = charSplitToIntArray(StrPtr(sVar), aStr())
For i = 0 To (iDims - 1)
Debug.Print Chr(aStr(i))
Next i
End Sub
Private Function charSplitToIntArray(ByVal PtrString As Long, ByRef aPtr() As Integer) As Long
Dim lLen As Long
lLen = lstrlenW(ByVal PtrString)
ReDim aPtr(0 To (lLen - 1))
CopyMemory ByVal VarPtr(aPtr(0)), ByVal PtrString, (lLen * 2)
charSplitToIntArray = lLen - 1
End Function
De esta menara obtienes algo asi como punteos en CPP solo es similar nada identico pero es practico y dinamico
Private Sub Form_Load()
Dim i As Integer
Dim sVar As String
Dim aStr() As Integer
Dim iDims As Long
sVar = "Miguel Angel"
iDims = charSplitToIntArray(StrPtr(sVar)+(7*2), aStr()) '// Retorno Angel...
For i = 0 To (iDims - 1)
Debug.Print Chr(aStr(i))
Next i
End Sub
Temibles Lunas!¡.