All i want to be able to do is see if #Excel is open and if so save all open workbooks and close Excel.
The code I have is as follows.
#!/usr/local/bin/perl
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
use Win32::OLE::Variant;
use Win32::OLE::Enum;
use Win32::OLE::NLS qw(:LOCALE :DATE);
use Carp::Heavy;
$Win32::OLE::Warn = 3;
my $dir = "G:\\directory\\";
my $file ="myfile.xls";
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');
$count = $Excel->Workbooks->Count."\n";
for my $n (1..$count){
print $Excel->Workbooks($n)->Name."\n";
if ($file eq $Excel->Workbooks($n)->Name){
my $book = $Excel->Workbooks($n);
$book->Workbook->Activate();
$Excel->Workbooks($n)->Close();
}
}
In reply to Save Excel workbooks and close Excel by blenkhn
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |