.vbs file replace Input Box with Today's date information. Also, how to navigate to correct window if user is not on the main menu? - vbscript

I have the following:
[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)
REM This line calls the macro subroutine
subSub1_
sub subSub1_()
Dim strMon
Dim strDay
Dim strYear
Dim strTom
Dim strLoadLtr
autECLSession.autECLOIA.WaitForAppAvailable
autECLSession.autECLPS.SendKeys "09"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "3"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "2"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
strMon = InputBox("Please enter the two-digit Month")
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
strDay = InputBox("Please enter the two-digit Day of the Month")
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
strYear = InputBox("Please enter the two-digit Year")
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "A"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
strTom = InputBox("Please enter tomorrows Day of the Month")
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "B"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "C"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "D"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "E"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "F"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "G"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "H"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "I"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "lds*"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1700"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "04"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "J"
autECLSession.autECLPS.SendKeys "[pf14]"
autECLSession.autECLPS.SendKeys "[pf6]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "all"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "8"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strTom
autECLSession.autECLPS.SendKeys "[right]"
autECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "1000"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf16]"
autECLSession.autECLPS.SendKeys "[pf12]"
autECLSession.autECLPS.SendKeys "[down]"
autECLSession.autECLPS.SendKeys "[down]"
autECLSession.autECLPS.SendKeys "[down]"
autECLSession.autECLPS.SendKeys "[down]"
autECLSession.autECLPS.SendKeys "[down]"
autECLSession.autECLPS.SendKeys "[down]"
autECLSession.autECLPS.SendKeys strMon
autECLSession.autECLPS.SendKeys "[right]"
sutECLSession.autECLPS.SendKeys strDay
autECLSession.autECLPS.SendKeys "[right]"
sutECLSession.autECLPS.SendKeys strYear
autECLSession.autECLPS.SendKeys "[enter]"
end sub
I like to have the user not to have input date and tomorrow's date. Additionally, I'd like the script to start on the correct input page rather than tell the user "make sure you're at XXYZ menu before you run the script".
I've looked at DateFormat, Now, etc, but none are working. Any suggestions or guidance would be helpful. First time using this.
Thanks!

It's probably not best to just use sendkeys as that will not give you a satisfactory solution, or you will also need to inspect the screen to determine where you are, and then send the keystrokes to navigate to the correct place.
You should instead try to use cl commands to navigate your menu structure if possible. Most menu systems have a command to select a specific menu. then once you have your correct starting place, you can then navigate with sendkeys.
That said, .vbs macros run in an older version of iAccess for Windows that is not supported for versions of Windows 8+. You might do better with other scripting tools. iAccess Client Solutions (the currently supported IBM i client) macros are, in my mind, a step back from the .vbs macros, but one such tool that comes to mind is Ublu, you can google it. I am not associated with, and have not used Ublu, I just know of its existence.

to make it easier to work with macro code, assign the presentation space and operator info area objects to aliases.
dim ps
dim oia
set ps = autECLSession.autECLPS
set oia = autECLSession.autECLOIA
use the GetText function to get text from the screen:
title = ps.GetText(1,28,27)
setCursorPos moves the cursor to a row,column location:
ps.setCursorPos 21,7
Write a VB function that use GetText to determine the name of the current screen. Like "MainMenu", "WarehouseMenu", "OrderDashboard". In this case, the ScreenName function identifies the WRKOBJPDM and WRKMBRPDM screens.
Function ScreenName( ps )
if ps.GetText(1,28,27) = "Work with Members Using PDM" Then
ScreenName = "WRKMBRPDM"
elseif ps.GetText(1,27,27) = "Work with Objects Using PDM" then
ScreenName = "WRKOBJPDM"
else
ScreenName = ""
end if
End Function
Here is a PCOMM macro which automates the navigation between the WRKMBRPDM and WRKOBJPDM screens.
[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)
subSub1_
sub subSub1_()
dim ps
dim oia
set ps = autECLSession.autECLPS
set oia = autECLSession.autECLOIA
oia.WaitForAppAvailable
if ScreenName(ps) = "WRKMBRPDM" Then
msgbox "in the wrkmbrpdm screen"
ps.setCursorPos 21,7
oia.WaitForInputReady
ps.SendKeys "wrkobjpdm[enter]"
oia.WaitForInputReady
elseif ScreenName(ps) = "WRKOBJPDM" then
msgbox "in the wrkobjpdm screen"
ps.setCursorPos 21,7
oia.WaitForInputReady
ps.SendKeys "wrkmbrpdm[enter]"
oia.WaitForInputReady
end if
end sub
Function ScreenName( ps )
if ps.GetText(1,28,27) = "Work with Members Using PDM" Then
ScreenName = "WRKMBRPDM"
elseif ps.GetText(1,27,27) = "Work with Objects Using PDM" then
ScreenName = "WRKOBJPDM"
else
ScreenName = ""
end if
End Function

Related

Table is too large to fit within the textwidth

I am having a problem with fitting my huge table within a page.Here are the current output of my code
\documentclass{article}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{table}[H]
\centering
\begin{adjustbox}{width=\textwidth}
\begin{tabular}{|lllllllllllll|}
\hline
& \multicolumn{2}{l}{Li-ion Battery} & \multicolumn{2}{l}{Lead-Acid Battery} & \multicolumn{2}{l}{Redox Flow Battery} & \multicolumn{2}{l}{Sodium-Sulphur} & \multicolumn{2}{l}{Sodium Metal Halide} & \multicolumn{2}{l|}{Zinc-Hybrid Cathode} \\ \cline{2-13}
Parameter & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 \\ \hline
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Capital Cost - Energy \\ Capacity ()\end{tabular}} & 271 & \multicolumn{1}{l|}{(189)} & 260 & \multicolumn{1}{l|}{(220)} & 555 & \multicolumn{1}{l|}{(393)} & 661 & \multicolumn{1}{l|}{(465)} & 700 & \multicolumn{1}{l|}{(482)} & 265 & (393) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Power Conversion \\ System (PCS) ()\end{tabular}} & 288 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & (211) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Balance of Plant (BOP)\\ ()\end{tabular}} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & (95) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Construction and \\ Commisioning ()\end{tabular}} & 101 & \multicolumn{1}{l|}{(96)} & 176 & \multicolumn{1}{l|}{(167)} & 190 & \multicolumn{1}{l|}{(180)} & 133 & \multicolumn{1}{l|}{(127)} & 115 & \multicolumn{1}{l|}{(110)} & 173 & (164) \\ \hline
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Total Project Cost \\ ()\end{tabular}} & 1876 & \multicolumn{1}{l|}{(1446)} & 2194 & \multicolumn{1}{l|}{(1854)} & 3430 & \multicolumn{1}{l|}{(2598)} & 3626 & \multicolumn{1}{l|}{(2674)} & 3710 & \multicolumn{1}{l|}{(2674)} & 2202 & (1730) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Total Project Cost \\ ()\end{tabular}} & 469 & \multicolumn{1}{l|}{(362)} & 549 & \multicolumn{1}{l|}{(464)} & 858 & \multicolumn{1}{l|}{(650)} & 907 & \multicolumn{1}{l|}{(669)} & 928 & \multicolumn{1}{l|}{(669)} & 551 & (433) \\ \hline
\multicolumn{1}{|l|}{O\&M Fixed ()} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & (8) \\
\multicolumn{1}{|l|}{O\&M Variable ()} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}System Round-Trip \\ Efficiency\end{tabular}} & \multicolumn{2}{l|}{0.86} & \multicolumn{2}{l|}{0.72} & \multicolumn{2}{l|}{0.675} & \multicolumn{2}{l|}{0.75} & \multicolumn{2}{l|}{0.83} & \multicolumn{2}{l|}{0.72} \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Response time \\ (limited byPCS)\end{tabular}} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Cycles at 80\% Depth\\ of Discharge\end{tabular}} & \multicolumn{2}{l|}{3500} & \multicolumn{2}{l|}{900} & \multicolumn{2}{l|}{10000} & \multicolumn{2}{l|}{4000} & \multicolumn{2}{l|}{3500} & \multicolumn{2}{l|}{3500} \\
\multicolumn{1}{|l|}{Lifetime (Years)} & \multicolumn{2}{l|}{10} & \multicolumn{2}{l|}{2.6} & \multicolumn{2}{l|}{15} & \multicolumn{2}{l|}{13.5} & \multicolumn{2}{l|}{12.5} & \multicolumn{2}{l|}{10} \\
\multicolumn{1}{|l|}{MRL} & 9 & \multicolumn{1}{l|}{(10)} & 9 & \multicolumn{1}{l|}{(10)} & 8 & \multicolumn{1}{l|}{(9)} & 9 & \multicolumn{1}{l|}{(10)} & 7 & \multicolumn{1}{l|}{(9)} & 6 & (8) \\
\multicolumn{1}{|l|}{TRL} & 8 & \multicolumn{1}{l|}{(9)} & 8 & \multicolumn{1}{l|}{(9)} & 7 & \multicolumn{1}{l|}{(8)} & 8 & \multicolumn{1}{l|}{(9)} & 6 & \multicolumn{1}{l|}{(8)} & 5 & (7) \\ \hline
\end{tabular}
\end{adjustbox}
\end{table}
\end{document}
I have tried to use the package adjustbox and tabularx, but I cannot get it to work with me.
Also in my code it has a specific problem with the beginning and end of my adjustbox command.
There is a bit of potential to make your table less wide, e.g. make the column headers multiline, but even then it is hard to fit it in the very narrow text width of the article class. Either decrease the margins to get more room or show the table on a landscape page:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage{lscape}
\begin{document}
\begin{landscape}
\centering
\small
\begin{tabular}{|lllllllllllll|}
\hline
& \multicolumn{2}{l}{Li-ion Battery} & \multicolumn{2}{l}{Lead-Acid Battery} & \multicolumn{2}{l}{Redox Flow Battery} & \multicolumn{2}{l}{Sodium-Sulphur} & \multicolumn{2}{l}{Sodium Metal Halide} & \multicolumn{2}{l|}{Zinc-Hybrid Cathode} \\ \cline{2-13}
Parameter & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 & 2018 & 2025 \\ \hline
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Capital Cost - Energy \\ Capacity ()\end{tabular}} & 271 & \multicolumn{1}{l|}{(189)} & 260 & \multicolumn{1}{l|}{(220)} & 555 & \multicolumn{1}{l|}{(393)} & 661 & \multicolumn{1}{l|}{(465)} & 700 & \multicolumn{1}{l|}{(482)} & 265 & (393) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Power Conversion \\ System (PCS) ()\end{tabular}} & 288 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & \multicolumn{1}{l|}{(211)} & 350 & (211) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Balance of Plant (BOP)\\ ()\end{tabular}} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & \multicolumn{1}{l|}{(95)} & 100 & (95) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Construction and \\ Commisioning ()\end{tabular}} & 101 & \multicolumn{1}{l|}{(96)} & 176 & \multicolumn{1}{l|}{(167)} & 190 & \multicolumn{1}{l|}{(180)} & 133 & \multicolumn{1}{l|}{(127)} & 115 & \multicolumn{1}{l|}{(110)} & 173 & (164) \\ \hline
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Total Project Cost \\ ()\end{tabular}} & 1876 & \multicolumn{1}{l|}{(1446)} & 2194 & \multicolumn{1}{l|}{(1854)} & 3430 & \multicolumn{1}{l|}{(2598)} & 3626 & \multicolumn{1}{l|}{(2674)} & 3710 & \multicolumn{1}{l|}{(2674)} & 2202 & (1730) \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Total Project Cost \\ ()\end{tabular}} & 469 & \multicolumn{1}{l|}{(362)} & 549 & \multicolumn{1}{l|}{(464)} & 858 & \multicolumn{1}{l|}{(650)} & 907 & \multicolumn{1}{l|}{(669)} & 928 & \multicolumn{1}{l|}{(669)} & 551 & (433) \\ \hline
\multicolumn{1}{|l|}{O\&M Fixed ()} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & \multicolumn{1}{l|}{(8)} & 10 & (8) \\
\multicolumn{1}{|l|}{O\&M Variable ()} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} & \multicolumn{2}{l|}{0.03} \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}System Round-Trip \\ Efficiency\end{tabular}} & \multicolumn{2}{l|}{0.86} & \multicolumn{2}{l|}{0.72} & \multicolumn{2}{l|}{0.675} & \multicolumn{2}{l|}{0.75} & \multicolumn{2}{l|}{0.83} & \multicolumn{2}{l|}{0.72} \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Response time \\ (limited byPCS)\end{tabular}} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} & \multicolumn{2}{l|}{1 sec} \\
\multicolumn{1}{|l|}{\begin{tabular}[c]{#{}l#{}}Cycles at 80\% Depth\\ of Discharge\end{tabular}} & \multicolumn{2}{l|}{3500} & \multicolumn{2}{l|}{900} & \multicolumn{2}{l|}{10000} & \multicolumn{2}{l|}{4000} & \multicolumn{2}{l|}{3500} & \multicolumn{2}{l|}{3500} \\
\multicolumn{1}{|l|}{Lifetime (Years)} & \multicolumn{2}{l|}{10} & \multicolumn{2}{l|}{2.6} & \multicolumn{2}{l|}{15} & \multicolumn{2}{l|}{13.5} & \multicolumn{2}{l|}{12.5} & \multicolumn{2}{l|}{10} \\
\multicolumn{1}{|l|}{MRL} & 9 & \multicolumn{1}{l|}{(10)} & 9 & \multicolumn{1}{l|}{(10)} & 8 & \multicolumn{1}{l|}{(9)} & 9 & \multicolumn{1}{l|}{(10)} & 7 & \multicolumn{1}{l|}{(9)} & 6 & (8) \\
\multicolumn{1}{|l|}{TRL} & 8 & \multicolumn{1}{l|}{(9)} & 8 & \multicolumn{1}{l|}{(9)} & 7 & \multicolumn{1}{l|}{(8)} & 8 & \multicolumn{1}{l|}{(9)} & 6 & \multicolumn{1}{l|}{(8)} & 5 & (7) \\ \hline
\end{tabular}
\end{landscape}
\end{document}

How to remove a specific column from a file using awk?

Hello everyone I am working with a text that looks as follows:
& & Training & & & & Early birds & & & & & Test & \\\hline
& EN & ES & IT & DU & EN & ES & IT & DU & EN & ES & IT & DU \\\hline
Users & 152 & 110 & 38 & 34& 42 & 30 & 12 & 10 & 142 & 88 & 36 & 32 \\\hline
18-24 & 58 & 22 & & & 16 & 6 & & & 56 & 18 & & \\
25-34 & 60 & 56 & & &16 & 14 & & & 58 & 44 & &\\
35-49 & 22 & 22 & & & 6& 6 & & & 20 & 18 & &\\
50+ & 12 & 10 & & & 4& 4 & & & 8 &8 & & \\\hline
I am using the & symbol as a column separator, I would like to remove the seven column of my text.txt using awk, I tried:
awk -F "&" '{print $7}' text.txt
and I get:
Early birds
ES
30
6
14
6
4
which is the column that I want to remove from my text.txt, I would like to achieve this using awk, I would like to appreciate any suggestion.
sed works well for this:
$ sed -E 's/(([^&]*&){6})[^&]*&/\1/' text.txt
& & Training & & & & & & & & Test & \\\hline
& EN & ES & IT & DU & EN & IT & DU & EN & ES & IT & DU \\\hline
Users & 152 & 110 & 38 & 34& 42 & 12 & 10 & 142 & 88 & 36 & 32 \\\hline
18-24 & 58 & 22 & & & 16 & & & 56 & 18 & & \\
25-34 & 60 & 56 & & &16 & & & 58 & 44 & &\\
35-49 & 22 & 22 & & & 6& & & 20 & 18 & &\\
50+ & 12 & 10 & & & 4& & & 8 &8 & & \\\hline
(([^&]*&){6}) matches the first six columns and saves them in group \1. [^&]*& matches the seventh. All of that gets replaced with just the first six columns, \1.
With GNU awk for gensub():
$ awk '{print gensub(/(([^&]*&){6})[^&]*&/,"\\1",1)}' file
& & Training & & & & & & & & Test & \\\hline
& EN & ES & IT & DU & EN & IT & DU & EN & ES & IT & DU \\\hline
Users & 152 & 110 & 38 & 34& 42 & 12 & 10 & 142 & 88 & 36 & 32 \\\hline
18-24 & 58 & 22 & & & 16 & & & 56 & 18 & & \\
25-34 & 60 & 56 & & &16 & & & 58 & 44 & &\\
35-49 & 22 & 22 & & & 6& & & 20 & 18 & &\\
50+ & 12 & 10 & & & 4& & & 8 &8 & & \\\hline
With other awks it's a bit more work:
$ awk 'match($0,/([^&]*&){7}/) { tgt=substr($0,1,RLENGTH); sub(/[^&]*&$/,"",tgt); $0=tgt substr($0,RLENGTH+1) } 1' file
& & Training & & & & & & & & Test & \\\hline
& EN & ES & IT & DU & EN & IT & DU & EN & ES & IT & DU \\\hline
Users & 152 & 110 & 38 & 34& 42 & 12 & 10 & 142 & 88 & 36 & 32 \\\hline
18-24 & 58 & 22 & & & 16 & & & 56 & 18 & & \\
25-34 & 60 & 56 & & &16 & & & 58 & 44 & &\\
35-49 & 22 & 22 & & & 6& & & 20 & 18 & &\\
50+ & 12 & 10 & & & 4& & & 8 &8 & & \\\hline
or since you have a string FS rather than a regexp:
$ awk 'BEGIN{FS=OFS="&"} { j=0; for (i=1;i<=NF;i++) if (i!=7) printf "%s%s",(++j>1?OFS:""),$i; print "" }' file
& & Training & & & & & & & & Test & \\\hline
& EN & ES & IT & DU & EN & IT & DU & EN & ES & IT & DU \\\hline
Users & 152 & 110 & 38 & 34& 42 & 12 & 10 & 142 & 88 & 36 & 32 \\\hline
18-24 & 58 & 22 & & & 16 & & & 56 & 18 & & \\
25-34 & 60 & 56 & & &16 & & & 58 & 44 & &\\
35-49 & 22 & 22 & & & 6& & & 20 & 18 & &\\
50+ & 12 & 10 & & & 4& & & 8 &8 & & \\\hline

Extract rows where value in one column equals value in another column +1?

I have a tab delimited text file that looks like this:
1 10019 10020 rs775809821
1 10055 10055 rs768019142
1 10107 10108 rs62651026
1 10108 10109 rs376007522
1 10128 10128 rs796688738
1 10138 10139 rs368469931
1 10144 10145 rs144773400
1 10146 10147 rs779258992
1 10149 10150 rs371194064
1 10165 10165 s796884232
I want to extract the rows in which the value in column 2 is equal to the value in column 1 + 1 and direct them to a new file. So for the above example, the desired output would be:
1 10019 10020 rs775809821
1 10107 10108 rs62651026
1 10108 10109 rs376007522
1 10138 10139 rs368469931
1 10144 10145 rs144773400
1 10146 10147 rs779258992
1 10149 10150 s371194064
I think this can be accomplished using awk, but I'm not sure where to start. Any input would be greatly appreciated.
awk '$3 == $2 + 1' < input > output

Delete elements from a hash after a matched key to the end

I have a hash
graph_data = {"12 am"=>0, "1 am"=>0, "2 am"=>0, "3 am"=>0, "4 am"=>0, "5 am"=>0, "6 am"=>0, "7 am"=>0, "8 am"=>0, "9 am"=>0, "10 am"=>0, "11 am"=>0, "12 pm"=>0, "1 pm"=>0, "2 pm"=>0, "3 pm"=>0, "4 pm"=>0, "5 pm"=>0, "6 pm"=>0, "7 pm"=>0, "8 pm"=>0, "9 pm"=>0, "10 pm"=>0, "11 pm"=>0}
I want to delete all elements from graph_data that appear after the "3 pm" key. Output that I'm looking for is:
group_data = {"12 am"=>0, "1 am"=>0, "2 am"=>0, "3 am"=>0, "4 am"=>0, "5 am"=>0, "6 am"=>0, "7 am"=>0, "8 am"=>0, "9 am"=>0, "10 am"=>0, "11 am"=>0, "12 pm"=>0, "1 pm"=>0, "2 pm"=>0, "3 pm"=>0"}
Any help would be appreciated.
graph_data.slice_after{|k, _| k == "3 pm"}.first.to_h
# => {"12 am"=>0, "1 am"=>0, "2 am"=>0, "3 am"=>0, "4 am"=>0, "5 am"=>0, "6 am"=>0, "7 am"=>0, "8 am"=>0, "9 am"=>0, "10 am"=>0, "11 am"=>0, "12 pm"=>0, "1 pm"=>0, "2 pm"=>0, "3 pm"=>0}
or
h = graph_data.dup
h.each_key.inject(false) do
|flag, k|
h.delete(k) if flag
flag = true if k == "3 pm"
flag
end
h # => {"12 am"=>0, "1 am"=>0, "2 am"=>0, "3 am"=>0, "4 am"=>0, "5 am"=>0, "6 am"=>0, "7 am"=>0, "8 am"=>0, "9 am"=>0, "10 am"=>0, "11 am"=>0, "12 pm"=>0, "1 pm"=>0, "2 pm"=>0, "3 pm"=>0}
You can also try this way
your value
graph_data = {"12 am"=>0, "1 am"=>0, "2 am"=>0, "3 am"=>0, "4 am"=>0, "5 am"=>0, "6 am"=>0, "7 am"=>0, "8 am"=>0, "9 am"=>0, "10 am"=>0, "11 am"=>0, "12 pm"=>0, "1 pm"=>0, "2 pm"=>0, "3 pm"=>0, "4 pm"=>0, "5 pm"=>0, "6 pm"=>0, "7 pm"=>0, "8 pm"=>0, "9 pm"=>0, "10 pm"=>0, "11 pm"=>0}
now
ar = graph_data.to_a
ar.reject{|j| ar.index(j) > ar.find_index(["3 pm", 0])}.to_h
=> {"12 am"=>0, "1 am"=>0, "2 am"=>0, "3 am"=>0, "4 am"=>0, "5 am"=>0, "6 am"=>0, "7 am"=>0, "8 am"=>0, "9 am"=>0, "10 am"=>0, "11 am"=>0, "12 pm"=>0, "1 pm"=>0, "2 pm"=>0, "3 pm" => 0}

vagrant vm not starting after adding storage device

I want to create vm using vagrant with 2 disks. vm is showing error on gui "FATAL: Could not read from boot medium". It runs fine if created without any disk any disk.
Here is my Vagrantfile:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "cn1" do |cn1|
cn1.vm.box = "trusty"
cn1.vm.hostname = "cn1"
cn1.vm.network "private_network", ip: "192.168.100.11"
cn1.vm.network "private_network", ip: "10.10.10.11"
cn1.vm.host_name = "controller1"
cn1.vm.provider :virtualbox do |vb|
vb.memory = 500
vb.customize ["createhd", "--filename", "machine1_disk0", "--size", "8192"]
vb.customize ["createhd", "--filename", "machine1_disk1", "--size", "8192"]
vb.customize ["storagectl", :id, "--name", "SATA Controller", "--remove"]
vb.customize ["storagectl", :id, "--name", "SATA Controller", "--add", "sata"]
vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", "1", "--type", "hdd", "--medium", "machine1_disk0.vdi"]
vb.customize ["storageattach", :id, "--storagectl", "SATA Controller", "--port", "2", "--type", "hdd", "--medium", "machine1_disk1.vdi"]
vb.gui = true
end
end
end
VirtualBox is telling you that you cannot boot from your disk.
If you open VirtualBox and look at the settings of your VM, under storage, you'll find that you have your 2 disks as you declared but the base image is not attached.
If you now look on your file system (location depends on your OS, I am on mac) for this VM
fhenri#machine:~/Documents/Virtual Machines.localized/trusty_cn1_1454620633289_44965$ ll
total 3174824
drwx------ 6 fhenri staff 204 4 fév 22:17 .
drwxr-xr-x 12 fhenri staff 408 4 fév 22:17 ..
drwx------ 3 fhenri staff 102 4 fév 22:17 Logs
-rw------- 1 fhenri staff 1625489408 4 fév 22:19 box-disk1.vmdk
-rw------- 1 fhenri staff 8488 4 fév 22:17 trusty_cn1_1454620633289_44965.vbox
-rw------- 1 fhenri staff 8143 4 fév 22:17 trusty_cn1_1454620633289_44965.vbox-prev
so vagrant has imported the box in the box-disk1.vmdk but you have removed this disk and added 2 blank disk so you cannot boot.
If you remove those 2 lines
vb.customize ["storagectl", :id, "--name", "SATAController", "--remove"]
vb.customize ["storagectl", :id, "--name", "SATAController", "--add", "sata"]
Then the disk remains attached to the VM and you can boot.
Now if you open the VM settings in VirtualBox, you'll find 3 disks (under the SATA Controller):
box-disk1.vmdk
machine1_disk0.vdi
machine1_disk1.vdi

Resources