VSTO for Outlook

The much awaited support for Outlook is now official and can be downloaded for Beta 2 from Microsoft.

I've been experimenting a little bit with the pre-beta bits, but my colleague Kjell-Sverre Jerijærvi has come a lot further. Get the low-down on some beta whoes on deployment of VSTO for Outlook in his write-up here.

When you've read Kjell-Sverres blogpost and been to MSDN to check out this article make sure to grab a hold of the codesnippets on the bottom of the page. There are also samples for download. Additionally there is a document included in the Beta install for Outlook which is a must-read before you get started. The document should be found on your local computer here:

\Program Files\Microsoft Visual Studio 8\Visual Studio Tools for Office\Documentation for VSTO Outlook Add-in (Beta).doc

For the next couple of days: VSTO for Outlook to stuff mail into Sharepoint. Killer app? I hope so:-) Feel free to contact me if this is something you've thought about and you've got some insights, suggestions or input.

Filed under:

Comments

# Ian Morrish said:

I did something similar in VBA
Screen shot http://www.wssdemo.com/img/OLsave.jpg
You selected a number of emails by holding down the <ctrl> key then clicked a toolbar button which caused the image above to appear. The trick was in renaming the messages (based on subject name) so that invalid SPS file name characters were changed.
I have also done an SMTP server drop directory into SPS document library example on my blog.

Thursday, June 09, 2005 1:18 AM
# Ed Richard said:

Was doing that with a VSTO 2003 sample:
... osel = ActiveExplorer.Selection

if (this.osel.Count > 0)
{
foreach (Outlook.MailItem om in osel)
{
// TODO Strip out invalid characters
string itemtitle = om.Subject+".htm";
string curi = @"http://server.xxxxxx.com/IncomingeMail/"+itemtitle;
om.SaveAs(curi,Outlook.OlSaveAsType.olHTML);
// WssDal is Addy Santo's class library for WSS
WssDalDocLib.WssDalDocumentLibraries oWs = new WssDalDocLib.WssDalDocumentLibraries();
oWs.Credentials = this.Credentials("USER","PWD");
WssDalDocLib.ListItem oitem = oWs.GetListItemByField("http://server.xxxxx.com/","IncomingeMail","Name",itemtitle);
oitem.Fields[13].Value = "Incoming"; // Change DocStatus Field
oitem.Fields[14].Value = this.Client.Text; // Update with ClientID From Combobox
oWs.UpdateListItem("http://server.xxxxx.com/","IncomingeMail",oitem);
}
}

Friday, June 24, 2005 9:59 AM