Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

(Win32): vmail - edit Outlook email in VIM

by osfameron (Hermit)
on May 24, 2002 at 12:06 UTC ( #169029=snippet: print w/ replies, xml ) Need Help??

Description: Uses Win32::OLE to edit your Outlook mail from Vim (here, gvim). Not very sophisticated, but demonstrates the use of Win32::OLE to control the Outlook Object model.

To use:

  • Save the script as vmail.pl
  • Run pl2bat vmail.pl
  • Move vmail.bat into your PATH
  • When you have an Outlook message window open, do Start - Run - vmail
  • Make your changes, save and exit.
UPDATE: Modified so that if there is no active item, a new mail message will be created.
use strict;
use warnings;
use Win32::OLE;
use File::Temp qw/ tempfile tempdir /; 

my $dir = tempdir( CLEANUP => 1 );
my ($fh, $filename) = tempfile( DIR => $dir, SUFFIX=> '.mail' );

my $out = Win32::OLE->new('Outlook.Application') or die "oops\n";

my ($ins, $ai);

if (! (($ai=$out->Application->ActiveInspector) && ($ins=$ai->CurrentI
+tem))) {
    $ins=$out->CreateItem(0);  # 0 = olMailItem
    $ins->Display;
};
print $fh $ins->Body;
close $fh;

system "gvim $filename";

open ($fh, $filename) or die;
local $/=undef;

my $body=<$fh>;
$ins->{Body}=$body;
Comment on (Win32): vmail - edit Outlook email in VIM
Download Code

Back to Snippets Section

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://169029]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2015-07-06 04:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls