sub send_weekly { my $Outlook = Win32::OLE->GetActiveObject ('Outlook.Application') || Win32::OLE->new('Outlook.Application'); my $Outlook = new Win32::OLE('Outlook.Application'); $excel_ob = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); $excel_ob->{Visible} = 0; $excel_ob->{DisplayAlerts}=0; $excel_sheet_name = $day."-".$month."-".($yr19+1900); $dir = getcwd(); $temp = File::Spec->catfile("$dir","Weekly-Report-Vishnu.xlsx"); $weekly_report_wb = $excel_ob->Workbooks->Open($temp) or die "Could not open Weekly sheet $!"; $weekly_report_ws = $weekly_report_wb->Worksheets($excel_sheet_name) or die "Couldn't open Weekly Report $!\n "; $weekly_report_ws->Range("A1:H26")->Copy; # Create Mail Item my $item = $Outlook->CreateItem(0); # 0 = mail item. unless ($item) { die "Outlook is not running, cannot send mail.\n"; } $item->{'Subject'} = $subject; $item->{'To'} = $to; #$weekly_report_ws->Range("A1:H26")->Copy; $item->{'Body'}= $item->PasteSpecial($weekly_report_ws->Range("A1:H26")->Copy); $item->{'From'} = $from; $item->{'Cc'} = $cc; # 2=high, 1=normal, 0=low $item->{'Importance'} = $priority ; # Send the Email $item->Send(); }