I don't think your example does what you think it's doing. You don't check @window, I believe this will be undef, so the remainder or your code won't work as expected. You need to start error checking and basic debugging. Consider the following, your call to FindWindowLike is wrong. Assuming things work isn't wise.
use strict;
use warnings;
use Win32::GuiTest qw(:ALL);
my @window = FindWindowLike(undef, "Excel");
# die if Excel can't be found
if (not @window) {
die "Could not find Excel\n";
}
# do stuff here
Corion is wise to suggest sending hotkeys, since you seem to want to persist on driving things via a menu I'll once again point you to the module documentation which explains this and has example code for dumping menus Win32::GuiTest/Win32::GuiTest::Examples. Also Tutorials/Debugging and Optimization. You could launch excel and open a file (you've been given lots of help on starting apps previously).
Update: slight rewording for clarity.