2009-09-01 15 views
1

アクティブなMSWordインスタンスを見つけるためにROTを使用しています。 Wordの一部のバージョンでは、ドキュメントはテーブルに登録されず、代わりにNORMALテンプレートとして登録されているため、Microsoftが文書化したタイトルでドキュメントを見つけることができません。誰でもこの修正プログラムを知っていますか?Wordオートメーションと実行オブジェクトテーブル

答えて

0

FindWindowPartial APIはどのような使い方ですか?タイトルでMicrosoft Wordを使用してウィンドウを検索することができます。

Option Explicit 

Private Const GW_HWNDNEXT = 2 
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long 
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long 

Function FindWindowPartial(ByVal Title As String) As String 
    Dim hWndThis As Long 

    hWndThis = FindWindow(vbNullString, vbNullString) 
    While hWndThis 
     Dim sTitle As String, sClass As String 
     sTitle = Space$(255) 
     sTitle = Left$(sTitle, GetWindowText(hWndThis, sTitle, Len(sTitle))) 
     If InStr(sTitle, Title) > 0 Then 
      FindWindowPartial = sTitle & "|" & FindWindowPartial 
     End If 
     hWndThis = GetWindow(hWndThis, GW_HWNDNEXT) 
    Wend 
End Function 
関連する問題