Quantcast
Channel: OKWAVE 最新質問(Visual Basic/257)【本日】
Viewing all articles
Browse latest Browse all 7264

EnumChildWindowsの使い方(VBA)

$
0
0
64bit版ExcelのVBAでEnumChildWindowsを使用して、子ウィンドウのウィンドウハンドルを 取得したいと考えています。 下記のようなサンプルを作ってみましたが、コールバック関数でExcelが異常終了します。 (05行目にブレークポイントを設定、各変数の値を参照しようとした時点でExcelが異常終了) また、コールバック関数の第3引数(lParam)の型をInteger,Long,LongPtr等変えてみましたが、 いずれもExcelの異常終了となりました。 つきまして、64bit Excelでの本APIの使い方を教えていただきたくよろしくお願いいたします。 (なお、32bit版のExcelでは正常に動作しました) <以下サンプルコード> 行 コード 01   Declare PtrSafe Function EnumChildWindows Lib "user32.dll" (ByVal ParenthWnd as LongPtr, ByVal EnumWindosPROC as LongPtr,ByVal lParam as Long) as Integer 02 03 04 Function ListupChildWindows(hWnd as LongPtr,lParam as Long) as Boolean 05 MsgBox hWnd 06 ListupChildWIndows =True 07 End Function 08 09 Sub test_CwinList 10 Dim ThishWnd as LongPtr 11 12 ThishWnd=Excel.Application.hWnd 13 Call EnumChildWindows (ThishWnd , AddressOf ListupChildWindows ,0) 14 End Sub

Viewing all articles
Browse latest Browse all 7264

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>