掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ObjectFromLresultの使い方をお教えください (ID:102351)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初めてご質問させていただきます。 分からないことが出てきたのでお教えください。 現在下記のページを見てObjectFromLresultの使い方の勉強をしています。 http://msdn.microsoft.com/en-us/library/dd373605(VS.85).aspx 実験的にExcelのVBAから自分自身(ワークブック)のウインドウハンドルを取得して、自分自身のウインドウオブジェクトを取得するというサンプルをつくりましたが、ObjectFromLresultの使い方が間違っているようでうまくいきません。だめな部分をご指摘していただけないでしょうか? Public Const WM_GETOBJECT = &H3D& Public Const OBJID_NATIVEOM = &HFFFFFFF0 Public Declare Function ObjectFromLresult Lib "oleacc" _ (ByVal lResult As Long, riid As Any, _ ByVal wParam As Long, ppvObject As Any) As Long Public Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" _ (ByVal hWnd As Long, ByVal Msg As Long, _ ByVal wParam As Long, lParam As Any) As Long Public Declare Function FindWindowEx Lib "user32" _ Alias "FindWindowExA" _ (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _ ByVal lpszClass As String, ByVal lpszWindow As String) As Long Public Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(0 To 7) As Byte End Type Option Explicit Sub test() Dim wkw As Excel.Window Dim IID_IAccessible As GUID Dim hwndApp As Long Dim hwndClient As Long Dim hwndBook As Long Dim lngResult As Long Dim lngRtnCode As Long Dim strMsg As String With IID_IAccessible .Data1 = &H618736E0 .Data2 = &H3C3D .Data3 = &H11CF .Data4(0) = &H81 .Data4(1) = &HC .Data4(2) = &H0 .Data4(3) = &HAA .Data4(4) = &H0 .Data4(5) = &H38 .Data4(6) = &H9B .Data4(7) = &H71 End With hwndApp = FindWindowEx(0, hwndApp, "XLMAIN", vbNullString) hwndClient = FindWindowEx(hwndApp, 0, "XLDESK", vbNullString) hwndBook = FindWindowEx(hwndClient, 0, "EXCEL7", vbNullString) lngResult = SendMessage(hwndBook, WM_GETOBJECT, 0, ByVal OBJID_NATIVEOM) If lngResult Then lngRtnCode = ObjectFromLresult(lngResult, IID_IAccessible, 0, wkw) Else strMsg = "SendMessage Error " exit sub End If If Not wkw Is Nothing Then strMsg = "確認できたよ " & wkw.Caption & vbTab 'OK Else strMsg = strMsg & "駄目でした" End If MsgBox strMsg End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.