2012-01-17 15 views
2

私は、コードの一部がMicrosoft.Office.Interop.Word.Document(Outlook2010の)WordEditorオブジェクトから選択したテキストを取得し、それを別のフォームにコピーするにはどうすればよいですか?

を使用して、新しいWord文書にコピーすることが分かっ検索するとき、私は別のフォームにWordEditor(Outlookの電子メールの本文)から選択されたテキストをコピーしたいです
Outlook.MailItem mailItem; 
Outlook.Inspector inspector = mailItem.GetInspector; 

// Obtain the Word.Document object from the Inspector object 
Word.Document document = (Word.Document)inspector.WordEditor; 

// Copy the selected objects 
document.Application.Selection.Copy(); 

私はいつもあなたがテストとして..適切にこのような 使用の何かをOutLook.MailItemを使用していない初心者のため

答えて

3

を使用する方法あなたはApplicationオブジェクトからアクティブインスペクタを要求する必要があります。 Globals.ThisAddIn.Application.ActiveInspector()は現在アクティブなインスペクタ参照を提供し、CurrentItemを要求し、MailItemタイプ(でもCalendarItem、TaskItem、NoteItemなど)の場合はMailItem参照に変換することができます。

2

(オブジェクトrefrenceがオブジェクトのインスタンスに設定されていない)mailItem.GetInspector部分でエラーを取得し、 UseCaseに合わせて変更してください。

public void ShowEmail(string To, string Subject, string Body) 
{ 
    Outlook.Application myOutlook = new Outlook.Application(); 
    Outlook.NameSpace myNamespace = myOutlook.GetNamespace("MAPI"); 
    myNamespace.Logon(null, null, null, null); 
    Outlook.MAPIFolder outbox = myNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox); 
    Outlook.MailItem mail = (Outlook.MailItem)outbox.Items.Add(Outlook.OlItemType.olMailItem); 

    mail.Recipients.Add(To); 
    mail.Subject = Subject; 
    mail.Body = Body; 

    mail.GetInspector.Activate(); 
} 

Go ahead and test it, create a button on your form and in the Click event handler: 

private void button1_Click(object sender, EventArgs e) 
{ 
    ShowEmail("youremailOutlookAddress.com", "Hello!", "Hey here's a test Email!"); 
} 

OutLookMailItemは、Outlook

0

MailItemオブジェクトを "objExplorer.Selection [1] as Microsoft.Office.Interop.Outlook.MailItem;"に設定します。ここで、objExplorer = AddIn name.Globals.ThisAddIn.Application.ActiveExplorer();

+0

これは私が問題を取り除いた方法でした。 –

関連する問題