Я ищу самый полный пример, чтобы запустить Outlook 2007 с новым сообщением, запущенным через C # .NET (я использую VS2008 .NET 3.0)
Вот что я пытаюсь:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop.Outlook;
namespace CreateMessage {
class Program {
static void Main ( string[] args ) {
// Create outlook application object.
var outlookApplication = new Microsoft.Office.Interop.Outlook.Application();
// Create mail message.
var newMail = (Microsoft.Office.Interop.Outlook.MailItem)outlookApplication.CreateItem( Microsoft.Office.Interop.Outlook.OlItemType.olMailItem );
newMail.To = "example@exam.ple";
newMail.Subject = "Example";
newMail.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
newMail.HTMLBody = "<p>Dear Example,</p><p>Example example.</p>";
newMail.Display( false );
}
}
}
Вот ссылки на мой проект:
альтернативный текст http://img4.imageshack.us/img4/9350/referencesi.jpg
Вот случайное исключение, которое я получаю (примерно половину времени, когда я запускаю программу):
System.Runtime.InteropServices.COMException was unhandled
Message="The message filter indicated that the application is busy. (Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))"
Source="Interop.Microsoft.Office.Interop.Outlook"
ErrorCode=-2147417846
StackTrace:
at Microsoft.Office.Interop.Outlook._MailItem.set_To(String To)
at CreateMessage.Program.Main(String[] args) in C:\Users\Adam\Projects\GGS\CreateMessage\Program.cs:line 17
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
Примечание: я нашел много ответов и примеров о работе с Outlook через Interop, но большинство ответов не показывают заявления об использовании или пытаются сделать что-то на следующем уровне по сравнению с тем, для которого я снимаю , Я просто пытаюсь открыть Outlook, с новым сообщением и, возможно, с небольшим количеством заполненной информации (т.е. Тема, Кому и т. Д.). Копирование и вставка любых примеров, которые я обнаружил до сих пор, не компилируется, потому что они представляют собой фрагменты кода, а не полностью функционирующий базовый пример, который компилируется.
спасибо!