2012-04-25 5 views
1

Attachmate Extra!를 사용하여 다음 매크로를 기록했습니다. 직장에서 X-treme. 버전 9.0을 사용하고 있다고 생각합니다. 나는 여러 화면에 걸쳐있는 보고서에서 데이터를 "긁어 모으고"각 페이지를 .txt 또는 .prn 파일로 인쇄하려고합니다. 표시된 코드는 필요한 모든 화면을 단계별로 실행하지만 원하는 파일에 결과를 출력하지 못하고 MS Excel에서 조작하고 싶습니다.페이지에 파일을 인쇄하는 첨부 파일 데이터 스크래핑 매크로

저는 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에 추가하려면 Tools> References>를 선택하고 목록에서 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

0

이렇게하는 가장 좋은 방법은 Attachmate EXTRA! 세션을 Excel에서 가져 오는 것이 좋습니다.

Attachmate Object Library를 설치하면 디버깅 등에 도움이되지만 반드시 필요한 것은 아닙니다.

다음은 현재 열려있는 EXTRA로 키를 보낼 수있는 개체 라이브러리를 설치하지 않고 Excel에서 실행할 수있는 기본 VBA 모듈입니다. 는 등의 디버깅을 위해 다소 도움 않지만, 당신은 실제로이 작업을 수행 할 수있는 개체 라이브러리가 필요하지 않습니다

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