use Win32::OLE; use Win32::OLE::Const 'Microsoft Outlook'; # Going to open a file to write too # file location my $outlook = Win32::OLE->new('Outlook.Application') or die "Error!\n"; my $namespace = $outlook->GetNamespace("MAPI"); my $folder = $namespace->GetDefaultFolder(olFolderCalendar); my $items = $folder->Items; print length($folder) . "\n"; for my $itemIndex (1..$items->Count) { my $message = $items->item($itemIndex); next if not defined $message; $start_date = $message->{Start}->Date; $start_time = $message->{Start}->Time; $end_date = $message->{End}->Time; $end_time = $message->{End}->Time; $duration = $message->{Duration}; $subject = $message->{Subject}; $categories = $message->{Categories}; $body = $message->{Body}; $reminder = $message->{AppointmentItem}->ReminderMinutesBeforeStart; # AppointmentItem.ReminderSet print "*****************************************\n"; print "Start Date " . $start_date . "\n"; print "Start Time " . $start_time . "\n"; print "End Date " . $end_date . "\n"; print "End Time " . $end_time . "\n"; $duration_1 = ($duration / 60); print "Duration " . $duration_1 . " hrs\n"; print "\n"; print "\n"; print "Subject " . $subject . "\n"; print "Categories " . $categories . "\n"; print "Body " . $body . "\n"; print "Reminder " . $reminder . "\n"; }