$title 'Test for password handling of gdxxrw and $hiddenCall' (GDXXRW5,SEQ=458) $onText This model reads from and writes to password protected xlsx sheet using the password option of GDXXRW. Also it makes sure that $hiddenCall is hidden, even with $onDollar and dp=2 Contributor: Jan-H. Jagla, September 2009 $offText $callTool win32.msappavail Excel $if errorlevel 1 $abort.noError "No Excel available" $onEcho > runme.gms Sets i canning plants / seattle, san-diego / j markets / new-york, chicago, topeka / ; parameter x(i,j); $onDollar $hiddenCall gdxxrw gdxxrw5.xlsx password="this is a test" par=x trace=0 $if errorlevel 1 $abort 'gdxxrw read call failed' $gdxIn gdxxrw5 $load x $offDollar $offEcho *First test that $hiddenCall is hidden $call gams runme.gms lo=2 dp=2 $if errorlevel 1 $abort 'gams runme execution failed' $call grep password runme.log > problem $call grep password runme.lst >> problem $call test -s problem $if errorlevel 1 $goTo done $abort 'GDX failed but normal completion' $label done *Now test reading and writing to password-protected Excel file $include runme.gms Table x2(i,j) distance in thousands of miles new-york chicago topeka seattle 50 300 san-diego 275 275 ; display x,x2; abort$sum((i,j),abs(x(i,j)-x2(i,j)) > 0) 'Data differs'; execute_unload 'test2' x2; execute 'gdxxrw test2.gdx o=gdxxrw5.xlsx password="this is a test" index=gdxxrw5 trace=0'; abort$errorlevel 'gdxxrw write call failed'