2017-08-04 3 views
1

私はVBAを介して別のアプリケーションに情報を送信するExcelワークブックを持っています。その結果、その情報の結果がポップアップウィンドウに表示されます私のExcelワークブック。 Excelにその他のアプリケーションのポップアップウィンドウから情報を読み込ませて、それ自体に貼り付ける方法はありますか?別のアプリケーションで作成されたポップアップから情報を取得する

[enter image description here】ここで

は、ダイアログボックスの写真です。私が必要とするのは、それからの日時です。

これはVB6で書かれたプログラムからのものです。独自のポップアップウィンドウを生成します。それはカスタムダイアログボックスのように見えます。

私は外部アプリケーションのコードにアクセスできません。 VB6で作成された独自の機能ボタンのようなもので、入力されたデータを使って計算を行い、計算されたデータを含むダイアログボックスを作成します。ダイアログボックスには、データを取得するフィールドはありません。「OK」ボタンが付いたデータを含む単なるボックスです。今、値を手動でコピーし、次の計算に移ります。あなたの助けのための

感謝:)

+0

これはVB6で書かれたプログラムからのものです。独自のポップアップウィンドウを生成します。それはカスタムダイアログボックスのように見えます。 –

+0

私はこのフォーラムを初めて使いました。写真を投稿する方法はありますか? –

+0

ダイアログボックスの画像を追加しました。私が必要とするのは日時です。 –

答えて

1

これは、.NET Windowsフォームプロジェクトからテスト・ダイアログを使用して、私のために働きました。

ダイアログキャプションは「Tester!」でした。何らかのテキストを含む単一のラベルが含まれていました。 状況は少し異なります。必要なテキストを含むコントロールの「クラス」を決定する必要があります。これにSpy ++を使用することができます。

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ 
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _ 
    (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 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 

Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long 



Sub main() 
    Dim lngHWnd As Long 
    Dim lngHWndChild As Long 
    Dim lngIndex As Long 
    Dim lngDlgItem As Long 
    Dim lngTextLength As Long 
    Dim strText As String 

    lngHWnd = FindWindow(vbNullString, "Tester!") 

    lngHWndChild = FindWindowEx(lngHWnd, 0&, "WindowsForms10.STATIC.app.0.3ee13a2_r17_ad1", vbNullString) 

    lngTextLength = GetWindowTextLength(lngHWndChild) 

    strText = Space(lngTextLength) 
    GetWindowText lngHWndChild, strText, lngTextLength + 1 

    Debug.Print strText 

End Sub 

Spy ++ - Alt + F3を押し、「ターゲット」をダイアログにドラッグしてツリー内に配置します。

enter image description here

+0

あなたはすばらしいです、私はこれに渦を立てます:)ありがとうございました! –

関連する問題