Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8508 / 76732 ←次へ | 前へ→

【73794】Re:他のブックのUserform
発言  UO3  - 13/2/15(金) 13:04 -

引用なし
パスワード
   ▼亜矢 さん:

一応、上でつぶやいた力技コードです。
はなはだ、ダサイコードだと思いますが・・・

Option Explicit

'トップレベルのウィンドウの抽出
Private Declare Function EnumWindows Lib "USER32" _
     (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
'キャプション取得
Private Declare Function GetWindowText Lib "USER32" Alias "GetWindowTextA" _
  (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
'ハンドルからクラス名を取得
Private Declare Function GetClassName Lib "user32.dll" _
             Alias "GetClassNameA" _
            (ByVal hWnd As Long, _
             ByVal lpClassName As String, _
             ByVal nMaxCount As Long) As Long
'スレッドIDとプロセスIDを取得する(665)
Private Declare Function GetWindowThreadProcessId Lib "USER32" _
  (ByVal hWnd As Long, lpdwProcessId As Long) As Long
'==========================================================================

Dim myThread As Long
Dim myCaption As String

Sub Test()
  Dim hWnd As Long
  Dim rtn As Boolean
  
  hWnd = ThisWorkbook.Application.hWnd
  myThread = GetWindowThreadProcessId(hWnd, ByVal 0&)
  rtn = EnumWindows(AddressOf GetProc, 0&)
  MsgBox myCaption
End Sub

'コールバック
Public Function GetProc(ByVal hWnd As Long, iParam As Long) As Boolean
Dim myCap As String * 128
Dim ret As Long
Dim myBuff As String * 128
Dim myClass As String
Dim lngRtn As Long

  If GetWindowThreadProcessId(hWnd, ByVal 0&) = myThread Then
    myCap = ""
    ret = GetWindowText(hWnd, myCap, Len(myCap))
    lngRtn = GetClassName(hWnd, _
                 myBuff, _
                 Len(myBuff))
    myClass = Left(myBuff, lngRtn)
    If myClass = "ThunderDFrame" Then myCaption = myCap
  End If
  
  GetProc = True
  
End Function

316 hits

【73789】他のブックのUserform 亜矢 13/2/15(金) 11:22 質問
【73790】Re:他のブックのUserform UO3 13/2/15(金) 11:38 発言
【73795】Re:他のブックのUserform 亜矢 13/2/15(金) 17:18 お礼
【73825】Re:他のブックのUserform ichinose 13/2/18(月) 7:13 発言
【73791】Re:他のブックのUserform UO3 13/2/15(金) 12:08 発言
【73794】Re:他のブックのUserform UO3 13/2/15(金) 13:04 発言

8508 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free