2012-04-25 38 views
1

我使用Attachmate Extra記錄下面的宏! X-treme在工作。我相信我正在使用9.0版本。我試圖從跨越各種屏幕的報告中「刮」數據,並將每個頁面打印到.txt或.prn文件。所提供的代碼遍歷所有必要的屏幕,但未能將結果輸出到我希望在MS Excel中操作的所需文件。Attachmate數據刮取宏將頁面打印到文件

我是Attachmate的新手,所以任何幫助將不勝感激。這只是簡單的添加幾行代碼來指導輸出,還是在這裏有一個更大的圖片?非常感謝您的幫助!

' Global variable declarations 
Global g_HostSettleTime% 
Global g_szPassword$ 

Sub Main() 
'-------------------------------------------------------------------------------- 
' Get the main system object 
    Dim Sessions As Object 
Dim System As Object 
Set System = CreateObject("EXTRA.System") ' Gets the system object 
If (System is Nothing) Then 
    Msgbox "Could not create the EXTRA System object. Stopping macro playback." 
    STOP 
End If 
Set Sessions = System.Sessions 

If (Sessions is Nothing) Then 
    Msgbox "Could not create the Sessions collection object. Stopping   
      macro playback." 
    STOP 
End If 
    '-------------------------------------------------------------------------------- 
    ' Set the default wait timeout value 
g_HostSettleTime = 3000  ' milliseconds 

OldSystemTimeout& = System.TimeoutValue 
If (g_HostSettleTime > OldSystemTimeout) Then 
    System.TimeoutValue = g_HostSettleTime 
End If 

    ' Get the necessary Session Object 
Dim Sess0 As Object 
Set Sess0 = System.ActiveSession 
If (Sess0 is Nothing) Then 
    Msgbox "Could not create the Session object. Stopping macro playback." 
    STOP 
End If 
If Not Sess0.Visible Then Sess0.Visible = TRUE 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 

    ' This section of code contains the recorded events 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf11>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf10>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf8>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf3>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 
Sess0.Screen.Sendkeys("<Pf3>") 
Sess0.Screen.WaitHostQuiet(g_HostSettleTime) 

System.TimeoutValue = OldSystemTimeout 

    End Sub 

回答

1

我只是利用Excel VBA和Attachmate Extra!對象庫將所需值拉入Excel而不是中間文件。

具體爲getstring函數(Function GetString(Row As Integer, Col As Integer, Length As Integer, [Page]) As String)並將這些值放在Excel工作表上。

請參閱下面的插入VBA代碼,這是一個簡單的文本拉。

要在VBA窗口中將Attachmate Extra Object Library添加到Excel,選擇工具>參考>然後從列表中選擇Attachmate Extra Object Library或瀏覽項目。

您可以通過Excel VBA對象瀏覽器查看對象,屬性和方法。

Sub MF_Status_Test() 

    ' Test Order Lookup Macro 
    Set Sys = GetObject("C:\Program Files\E!PC\Sessions\Mainframe.EDP") 

    Set MyScreen = Sys.Screen 

    Do While ActiveCell.Offset(0, 0).Value <> "" 
     Let Order = ActiveCell.Offset(0, 0).Value 
     MyScreen.SendKeys (Order) 

     MyScreen.SendKeys ("<enter>") 
     Found1st = MyScreen.WaitHostQuiet(150) 

     Dt = MyScreen.getstring(7, 11, 8) 
     Let ActiveCell.Offset(0, 1).Range("A1") = Dt 
     Let Dt = "" 

     ST = MyScreen.getstring(6, 11, 2) & MyScreen.getstring(17, 12, 3) 
     Let ActiveCell.Offset(0, 2).Range("A1") = ST 
     Let ST = "" 

     Amt = MyScreen.getstring(3, 53, 10) 
     Let ActiveCell.Offset(0, 3).Range("A1") = Trim(Amt) 
     Let Amt = "" 

     MyScreen.SendKeys ("<PF8>") 

     Dt = MyScreen.getstring(7, 11, 8) 
     Let ActiveCell.Offset(0, 4).Range("A1") = Dt 
     Let Dt = "" 

     ST = MyScreen.getstring(6, 11, 2) & MyScreen.getstring(17, 12, 3) 
     Let ActiveCell.Offset(0, 5).Range("A1") = ST 
     Let ST = "" 

     Amt = MyScreen.getstring(3, 53, 10) 
     Let ActiveCell.Offset(0, 6).Range("A1") = Trim(Amt) 
     Let Amt = "" 

     Found1st = MyScreen.WaitHostQuiet(150) 

     ActiveCell.Offset(1, 0).Range("A1").Select 
    Loop 
End Sub 
+0

實際上您並不需要對象庫來做到這一點,儘管它對調試等有些幫助。 – Ten98 2013-10-25 14:02:10

0

要做到這一點的最佳方法是鉤入Attachmate EXTRA!來自Excel的會話,而不是其他方式。

安裝Attachmate對象庫可能有助於調試等,但不是必需的。

這裏是一個基本的VBA模塊,您可以從Excel運行而無需安裝對象庫,該對象庫允許您將密鑰發送到當前打開的EXTRA!會話並從屏幕讀取數值:

Sub GetData() 

Dim Sessions As Object 
Dim System As Object 
Dim Sess0 As Object 

'Extra Objects 
Set System = CreateObject("EXTRA.System") 
Set Sessions = System.Sessions 
Set Sess0 = System.ActiveSession 
If Sess0 Is Nothing Then 
    MsgBox ("Could not create the Session object. Stopping macro playback.") 
    Exit Sub 
End If 

If Not Sess0.Visible Then Sess0.Visible = True 
Sess0.Screen.WaitHostQuiet (3000) 

'Now the active EXTRA! session is bound to the Object "Sess0", we can use it like a normal VBA object: 

Sess0.Screen.SendKeys ("<Pf8>") ' Press F8 
Sess0.Screen.WaitHostQuiet (1000) ' Wait for 1 second for the screen to stop updating (should really do this after every keypress that causes the mainframe to update) 

Sess0.Screen.MoveTo 21, 28 ' Move the cursor to row 21, column 28. 

Sess0.Screen.SendKeys ("<Pf9>") ' Press F9 
Sess0.Screen.WaitHostQuiet (1000) 

Sess0.Screen.SendKeys ("<Tab><Tab><Tab>Logon<Enter>") ' Press Tab 3 times, then type "Logon" and press enter 
Sess0.Screen.WaitHostQuiet (1000) 

Dim SomeString as String 
SomeString = Sess0.Screen.GetString(1, 1, 20) ' Read the first 20 characters displayed on the screen to "SomeString" 

Sess0.Connected = False ' Disconnect from the mainframe session 

'Tidying up 
System.TimeoutValue = OldSystemTimeout 
Set Sessions = Nothing 
Set System = Nothing 
Set Sess0 = Nothing 

End Sub