• Hi All

    Please note that at the Chandoo.org Forums there is Zero Tolerance to Spam

    Post Spam and you Will Be Deleted as a User

    Hui...

  • When starting a new post, to receive a quicker and more targeted answer, Please include a sample file in the initial post.

ATTACHMATE Extra Scraping to excel

SAGARVR

New Member
Hi team

please find the the below code i wated to extract the SKU History from the attachmate extra(Mainfraime) to excel
where the history is on multiple pages where pressing f8 next page will appear so i wated to extract the data till last page, i have done with loop but
not able to do anyone can help me in this help will be highly appreciated.

>>> use code - tags <<<
Code:
Sub DataExtract()
Dim Sessions, System As Object, Sess0 As Object, PO As String, WB As Workbook, WS As Worksheet
Set System = CreateObject("EXTRA.System")
Set Sessions = System.Sessions
Set Sess0 = System.ActiveSession
Set WB = ActiveWorkbook
Set WS = Sheets("Groups")
g_HostSettleTime = 1000
        rw = 2
        rw1 = 1
        With Worksheets("Workbook")
            Do
             For x = rw To ActiveSheet.Rows.Count
                PO = Format(Sheets("Groups").Cells(x, 1).Value, "000000")
                If PO = "" Then Exit Sub
               
               
                Sess0.Screen.MoveTo 4, 22
               ' Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                Sess0.Screen.SendKeys ("E01")
                 'Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                 Sess0.Screen.MoveTo 6, 22
               ' Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                Sess0.Screen.PutString PO, 2
                Sess0.Screen.MoveTo 7, 22
'                Sess0.Screen.SendKeys ("15/12/22")
               ' Sess0.Screen.SendKeys ("<Enter>")
 
                Sess0.Screen.SendKeys ("<Pf3>")
               ' Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                'Sess0.Screen.SendKeys ("<Enter>")
                'Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                'Sess0.Screen.MoveTo 3, 8
                'Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                'Sess0.Screen.PutString PO, 2
                'Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                'Sess0.Screen.SendKeys ("<Enter>")
                'Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                    Do
                        For r = 11 To 22
                        dd = 11
                        s = Trim(Sess0.Screen.GetString(r, 3, 2))
                            If s = "" Then
                            Exit Do

                            Else
                           ' CaseNumber = Sess0.Screen.GetString(3, 8, 6)
                            GroupName = Sess0.Screen.GetString(5, 44, 10)
                          '  EDate = Sess0.Screen.GetString(r, 2, 11)
                            Fund = Sess0.Screen.GetString(r, 3, 18)
                            Plan = Sess0.Screen.GetString(r, 18, 18)
                            SubGroup = Sess0.Screen.GetString(r, 2, 11)
                            PLine = Sess0.Screen.GetString(r, 38, 4)
                            rw1 = rw1 + 1
                           ' Sheets("Workbook").Cells(rw1, 1) = CaseNumber
                            Sheets("Workbook").Cells(rw1, 2) = GroupName
                           ' Sheets("Workbook").Cells(rw1, 3) = EDate
                            Sheets("Workbook").Cells(rw1, 4) = Fund
                            Sheets("Workbook").Cells(rw1, 5) = Plan
                            Sheets("Workbook").Cells(rw1, 6) = SubGroup
                            Sheets("Workbook").Cells(rw1, 13) = PLine
                           
                            End If

                        Next r
       
                        Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                        Sess0.Screen.SendKeys ("<Pf8>")
                        Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
                       
                          Loop
        Do
        For r = 23 To 23
        TermPage = Trim(Sess0.Screen.GetString(r, 20, 2))
        If TermPage = "END OF DATA" Then
        Sess0.Screen.SendKeys ("<Pf2>")
        Exit Do
        End If
         Next r

                    Loop
       
                Sess0.Screen.SendKeys ("<Pf2>")
   
            Next x  'next row/group
        Loop
        End With

End Sub
 
Last edited by a moderator:
Back
Top