用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

基于vc与word、outlook对象模型的email实现

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:55:41

使用outlook对象模型,需要在程序中包含对office对象的引用,获得命名空间,然后调用对象的属性和方法,以下列出了部分程序代码。
  (1)在stdafx.h 文件,加入以下语句:

#import "c:/program files/Microsoft Office/Office/msoutl9.olb"  /*outlook对象引用文件*/
#import "c:/program files/Microsoft Office/Office/msword9.OLB" /
 rename_namespace("WD")  /*word对象引用文件*/
#import <mshtml.tlb> rename_namespace("HTML")   /*加入对html对象的引用*/
(2)      邮件发送函数
             BOOL CProject::SendMail()
{
         WD::_ApplicationPtr pWD;
     WD::_DocumentPtr pWordDoc;
     WD::RangePtr pMainStory;
     WD::_DocumentPtr pWordEditor;
     HTML::IHTMLDocument2Ptr pHtmlEditor;    /* 定义word对象和html对象指针*
     Outlook::_ApplicationPtr pOL;
           Outlook::_MailItemPtr pMail;
           Outlook::_InspectorPtr pInspector;      /*  定义outlook对象指针*/
           TESTHR(pOL.CreateInstance(L"Outlook.Application"));  /*创建outlook对象*/
           pMail = pOL->CreateItem(Outlook::olMailItem);     /*创建邮件对象*/
           pMail->Display();
           pMail->To  = m_SendPerson;
           pMail->CC  = m_CopyPerson;
           pMail->Subject = m_bstrSubject;
           pInspector = pMail->GetInspector;          /*建立邮件对象的发送人和主题*/     
           //以下为将现存的word或html文件插入到邮件体里
           if(m_lngBodyFileSize>0)
           {
                 TESTHR(pWD.CreateInstance(L"Word.Application"));
                 _variant_t varBodyFileName=(pApp->m_BodyFilePathName).AllocSysString();
                 pWordDoc = (pWD->Documents)->Open(&varBodyFileName);    /*变量m_BodyFilePathName为所需插入邮件体的word或者html文件所在的路径*/
                 pMainStory = pWordDoc->Content;
                 pMainStory->Copy();
                 pWordDoc->Close();
                 pWD->Quit();
                 pWordDoc = NULL;
                 pWD = NULL;

                 if((BOOL)(pInspector->IsWordMail()))              /*检查是word格式还是html格式*/
                 {
                       pWordEditor = pInspector->WordEditor;
                       (pWordEditor->Content)->Paste();
                 }else
                 {
                       pHtmlEditor = pInspector->HTMLEditor;
                       pHtmlEditor->execCommand("Paste",VARIANT_FALSE);
                 }
           pMail->Send();
}
以上简单的介绍了如何实现邮件体的发送,真正的邮件程序,还有许多其它的工作,在这不再详叙了,通过以上方法,可以实现多种格式邮件体的发送,本文给出了部分程序代码。


参考文献:              
1 J. Klensin. SMTP Service Extensions.RFC1869, November 1995
  2 G. Vaudreuil. SMTP Service Extensions for Transmission of Large and Binary MIME Messages. RFC1830. August 199
3 microsoft. Microsoft Powerpoint 2000,Outlook 2000和FrontPage 2000 language reference.August 1999
4 博嘉科技.Visual c++6.0/Internet Programming Instance.北京希望电子出版社.2001年6月

上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:40,093.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号