Sub MATCC()
'Extra Screen Object
Dim ExtraScreen As Object
'On Error GoTo ErrorThis
Set ExtraScreen = CreateObject("EXTRA.System").ActiveSession.Screen
Set ExtraSession = CreateObject("EXTRA.System").ActiveSession
'Assumes an open Extra Session
'Excel Worksheet object
Dim FinanceSheet As Worksheet
Set FinanceSheet = Workbooks("AutoFinancialCalculator_v0.01").Worksheets(1)
'Assumes named workbook is open
ExtraScreen.SendKeys "<Home>WCAD<Enter>"
ExtraScreen.WaitHostQuiet (g_HostSettleTime)
'WCAD
'*** AREA GRAB 1 ***
FinanceSheet.Cells(3, 1).Value = ExtraScreen.Area(3, 43, 3, 55).Value 'BA
FinanceSheet.Cells(3, 2).Value = ExtraScreen.Area(4, 43, 4, 55).Value 'PD
FinanceSheet.Cells(3, 3).Value = ExtraScreen.Area(5, 43, 5, 55).Value 'OL
FinanceSheet.Cells(3, 4).Value = ExtraScreen.Area(8, 43, 8, 55).Value 'DU
'*** AREA GRAB 2 - wtf is , 1, 3 for? ***
FinanceSheet.Cells(7, 1).Value = ExtraScreen.Area(3, 43, 3, 55, 1, 3).Value 'BA
FinanceSheet.Cells(7, 2).Value = ExtraScreen.Area(4, 43, 4, 55, 1, 3).Value 'PD
FinanceSheet.Cells(7, 3).Value = ExtraScreen.Area(5, 43, 5, 55, 1, 3).Value 'OL
FinanceSheet.Cells(7, 4).Value = ExtraScreen.Area(8, 43, 8, 55, 1, 3).Value 'DU
'*** GET STRING ***
FinanceSheet.Cells(11, 1).Value = ExtraSession.GetString(3, 43, 13) 'BA
FinanceSheet.Cells(11, 2).Value = ExtraSession.GetString(4, 43, 13) 'PD
FinanceSheet.Cells(11, 3).Value = ExtraSession.GetString(5, 43, 13) 'OL
FinanceSheet.Cells(11, 4).Value = ExtraSession.GetString(8, 43, 13) 'DU
'IAPS
ExtraScreen.SendKeys "<Home>IAPS<Enter>"
ExtraScreen.WaitHostQuiet (g_HostSettleTime)
FinanceSheet.Cells(14, 1).Value = ExtraScreen.Area(15, 6, 15, 21, 1, 3).Value 'type 1
FinanceSheet.Cells(16, 1).Value = ExtraScreen.Area(17, 2, 17, 13, 1, 3).Value 'adb
FinanceSheet.Cells(16, 2).Value = ExtraScreen.Area(17, 29, 17, 33, 1, 3).Value 'apr
FinanceSheet.Cells(18, 1).Value = ExtraScreen.Area(19, 6, 19, 21, 1, 3).Value 'type 2
FinanceSheet.Cells(20, 1).Value = ExtraScreen.Area(21, 2, 21, 13, 1, 3).Value 'adb
FinanceSheet.Cells(20, 2).Value = ExtraScreen.Area(21, 29, 21, 33, 1, 3).Value 'apr
'Grab more info if pg2 exists, send f8 and recapture
If ExtraSession.GetString(15, 50, 4) = "MORE" Then
ExtraScreen.SendKeys "<F8>"
ExtraScreen.WaitHostQuiet (g_HostSettleTime)
'recapture
FinanceSheet.Cells(22, 1).Value = ExtraScreen.Area(15, 6, 15, 21, 1, 3).Value 'type 3
FinanceSheet.Cells(24, 1).Value = ExtraScreen.Area(17, 2, 17, 13, 1, 3).Value 'adb
FinanceSheet.Cells(24, 2).Value = ExtraScreen.Area(17, 29, 17, 33, 1, 3).Value 'apr
FinanceSheet.Cells(26, 1).Value = ExtraScreen.Area(19, 6, 19, 21, 1, 3).Value 'type 4
FinanceSheet.Cells(28, 1).Value = ExtraScreen.Area(21, 2, 21, 13, 1, 3).Value 'adb
FinanceSheet.Cells(28, 2).Value = ExtraScreen.Area(21, 29, 21, 33, 1, 3).Value 'apr
End If
End Sub