| 
    
     |  | >Private Declare Function GetWindowLongPtr Lib "user32" _ >   Alias "GetWindowLongA" _
 >   (ByVal hWnd As Long, _
 >   ByVal nIndex As Long) As Long
 まず、Aliasの関数名を変えないとだめです。
 (Libに指定した)user32.dllの(Aliasにしていした)GetWindowLongAという関数を
 (Declareで指定した)GetWindowLongPtrという関数として使いますという宣言文になります。
 
 ついでに
 >Private Declare Function SetWindowLongPtr Lib "user32" _
 >   Alias "SetWindowLongA" _
 >   (ByVal hWnd As Long, _
 >   ByVal nIndex As Long, _
 >   ByVal dwNewLong As Long_PTR) As Long
 のLong_PTR型はVBAにはない型です。これは64ビット環境と32ビット環境で大きさが変わるようなつくりになっています。
 よって32ビット環境では、Long型でよいはず。
 
 
 WinAPIを使いこなすには多少なりともC言語の知識があったほうがよいです。
 
 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_Win32_GetWindowLongPtr.asp
 LONG_PTR GetWindowLongPtr(
 HWND hWnd, // ウィンドウのハンドル
 int nIndex // 取得する値のオフセット
 );
 ↓
 Private Declare Function GetWindowLongPtr Lib "user32" Alias "GetWindowLongPtrA" _
 (ByVal hWnd As Long, ByVal nIndex As Long) As Long
 
 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_Win32_SetWindowLongPtr.asp
 LONG_PTR SetWindowLongPtr(
 HWND hWnd,      // ウィンドウのハンドル
 int nIndex,     // 変更する値のオフセット
 LONG_PTR dwNewLong  // 新しい値
 );
 ↓
 Private Declare Function SetWindowLongPtr Lib "user32" Alias "SetWindowLongPtrA" _
 (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
 
 かな。試していませんけど。
 
 
 |  |