2016-11-07 52 views

回答

0

Outlook對象模型不會讓你明確創建文檔對象 - 您可以從使用MAPIFolder.Items.Add添加常規MailItem對象開始,添加附件,然後適當地正確設置MessageClass(使用OutlookSpy查看現有文檔項目 - 單擊項目或IMessage按鈕),然後保存該消息。

如果使用Redemption是一個選項,你可以用它RDODocumentItem對象 - 你可以調用RDODocumentItem.SetDocument方法或撥打RDOFolder.Items.Add並指定完整路徑到現有文件 - 見http://www.dimastr.com/redemption/rdodocumentitem.htm瞭解更多詳情。

+0

我們不能使用Office工具或任何開源庫來實現嗎? –

+0

我剛剛在上面描述瞭如何單獨使用Outlook對象模型來做到這一點,但這並不是非常簡單。 –

+0

謝謝哥們!我使用MessageClass來完成它。但我無法添加.msg文件。您的幫助將非常感激。 –

0

Outlook.DocumentItem objDocItem = ParentFolder.Items.Add(「IPM.Document」);

  //objDocItem = ParentFolder.Items.Add("IPM.Document"); 

      Outlook.Attachment objAtt = objDocItem.Attachments.Add(strFilePath); 
      objDocItem.Subject = objAtt.FileName; 


      string strFileType = Path.GetExtension(strFilePath); 
      switch (strFileType) 
      { 
       case ".doc": 
       case ".docx": 
        objDocItem.MessageClass = "IPM.Document.Word.Document.8"; break; 
       case ".xls": 
       case ".xlsx": 
        objDocItem.MessageClass = "IPM.Document.Excel.Sheet.8"; break; 
       case ".pps": 
       case ".ppt": 
       case ".pptx": 
        objDocItem.MessageClass = "IPM.Document.PowerPoint.Show.8"; break; 
      } 


      objDocItem.Save();