将另一程序中的数据检索到VBA中

将另一程序中的数据检索到VBA中,vba,api,excel,Vba,Api,Excel,我正在尝试从另一个名为CMA Series 4的软件中检索数据到Excel中。我已经能够为我想要检索数据的图表找到一个处理程序,但是从现在起,我不知道如何继续获取这些信息 使用MicrosoftSpy++,我成功地访问了CMA中的对象,即“fpspread60”类中的对象。但是如何检索存储在其中的数据呢?这就是代码: Sub GetBookData() Dim BookTitle As String Dim BookClass As String '---------------------

我正在尝试从另一个名为CMA Series 4的软件中检索数据到Excel中。我已经能够为我想要检索数据的图表找到一个处理程序,但是从现在起,我不知道如何继续获取这些信息

使用MicrosoftSpy++,我成功地访问了CMA中的对象,即“fpspread60”类中的对象。但是如何检索存储在其中的数据呢?这就是代码:

Sub GetBookData()

Dim BookTitle As String
Dim BookClass As String

'----------------------------------------------------------'
BookTitle = "[012] POMO4 - Livro de Ofertas"
'----------------------------------------------------------'

hwnd = FindWindow("CMAGRAPHIC_MDI", vbNullString)
    Livro1 = FindWindowEx(hwnd, 0&, "MDIClient", vbNullString)
    Livro2 = FindWindowEx(Livro1, 0&, vbNullString, BookTitle) 'Classe alterável
    Livro3 = FindWindowEx(Livro2, 0&, "SysTabControl32", vbNullString)
    Livro4 = FindWindowEx(Livro3, 0&, "AfxMDIFrame90", vbNullString)

    'Necessaria criação dessa porcaria dessa árvore de referencia porque a estrutura desse lixo de CMA é essa...
    Livro5 = FindWindowEx(Livro4, 0&, "AfxFrameOrView90", vbNullString)
        Livro6 = FindWindowEx(Livro4, Livro5, "AfxFrameOrView90", vbNullString)
        Livro7 = FindWindowEx(Livro4, Livro6, "AfxFrameOrView90", vbNullString)
        Livro8 = FindWindowEx(Livro4, Livro7, "AfxFrameOrView90", vbNullString)
        Livro9 = FindWindowEx(Livro4, Livro8, "AfxFrameOrView90", vbNullString)
        Livro10 = FindWindowEx(Livro4, Livro9, "AfxFrameOrView90", vbNullString)

    Livro11 = FindWindowEx(Livro10, 0&, "fpSpread60", vbNullString)
        Livro12 = FindWindowEx(Livro10, Livro11, "fpSpread60", vbNullString)
        Livro13 = FindWindowEx(Livro10, Livro12, "fpSpread60", vbNullString)
        Livro14 = FindWindowEx(Livro10, Livro13, "fpSpread60", vbNullString)
        Livro15 = FindWindowEx(Livro10, Livro14, "fpSpread60", vbNullString)
        HwndBook = FindWindowEx(Livro10, Livro15, "fpSpread60", vbNullString) '---- FINALMENTE ----'


'MsgBox HwndBook
MsgBox HwndBook

End Sub
而且,我还发布了一个打印屏幕,从我想要获取信息的地方:


你能做一个简单的循环,遍历所有对象吗?也许使用对象类可以派生一些基本类函数。你好,霍姆斯,谢谢你的回答!但是如何使用这个对象类呢?我找到了一本关于这个类的手册。链接在这里,但我不知道你如何使用这些信息。。。你能做一个简单的循环穿过所有的物体吗?也许使用对象类可以派生一些基本类函数。你好,霍姆斯,谢谢你的回答!但是如何使用这个对象类呢?我找到了一本关于这个类的手册。链接在这里,但我不知道你如何使用这些信息。。。你能做一个简单的循环穿过所有的物体吗?也许使用对象类可以派生一些基本类函数。你好,霍姆斯,谢谢你的回答!但是如何使用这个对象类呢?我找到了一本关于这个类的手册。链接在这里,但我不知道你如何使用这些信息。。。