|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Sub test()
Call SwapPtr("ab", "ze")
End Sub
Sub SwapPtr(sA As String, sB As String)
Dim lTmp As Long
Debug.Print Hex(VarPtr(lTmp))
Debug.Print Hex(VarPtr(sA))
Debug.Print Hex(StrPtr(sA))
CopyMemory lTmp, VarPtr(sA), 6 'sa地址
Debug.Print Hex(lTmp)
CopyMemory lTmp, ByVal VarPtr(sA), 4 'sa地址的值
Debug.Print Hex(lTmp)
CopyMemory lTmp, StrPtr(sA), 4 'sa地址的值
Debug.Print Hex(lTmp)
CopyMemory lTmp, ByVal StrPtr(sA), 4 'sa字符串的内容
Debug.Print Hex(lTmp)
CopyMemory lTmp, ByVal sA, 4 'sa字符串的内容
Debug.Print Hex(lTmp)
CopyMemory lTmp, sA, 4 '这个就不知道了
Debug.Print Hex(lTmp)
End Sub
群主这些怎么理解,我自已瞎理解,能帮忙这些原理吗。 |
|