I don't have much experience saving PowerPoint presentations, but this script does what you asked for, assuming the same column format every time. It allows for more or fewer :Col_n columns without needing to make any adjustments.
Names Default To Here( 1 );
dt = Open(
"$DOWNLOADS/jmp test data.xlsx",
Worksheets( "Sheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
thedate = Uppercase( Format( Today(), "Format Pattern", "<DD><MMM><YYYY> <hh24><mm><ss>" ) );
cols = Filter Each( {val, idx}, dt << Get Column Names( "String" ), Contains( val, "Col_" ) );
remarkarray = Associative Array( :Col, :Remark );
For Each( {val, idx}, cols,
text = val || "--" || remarkarray[Substitute( val, "_", "" )];
pres = dt << Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :Fixture ), Y( Column( val ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Box Plot( X, Y, Legend( 8 ) ) ),
SendToReport( Dispatch( {}, "graph title", TextEditBox, {Set Text( "Fixture Comparison: " || text )} ) )
);
If( idx == 1,
Report( pres ) << Save Presentation( "$DOCUMENTS/Fixtures " || thedate || ".pptx" ),
Report( pres ) << Save Presentation( "$DOCUMENTS/Fixtures " || thedate || ".pptx", Append )
);
(pres << Get Window) << Close Window;
);