本帖最后由 爱疯 于 2012-7-17 10:32 编辑

为了自动化Outlook,使Excel的VBA能调用Outlook对象,我们必须先访问Outlook的对象模型。也就是说,在Excel里操纵Outlook的对象,你必须首先能够让Excel“看到”它们。 通常有两种方法可以公开一个对象模型到Excel应用程序,称为前期绑定和后期绑定。

绑定的意思就是把客户端的对象模型开放给主程序,把他们强制性的联系在一起。这里我们就是指把Outlook对象模型开放给ExcelVBA主程序。

前期绑定

前期绑定,意思就是在你的程序运行前就已经进行了绑定,绑定的方法是在VBE编辑器里点击工具-引用,选上Microsoft Outlook 11.0 Object Library。(Outlook的版本不同,数字会有变化,我用的是2003,版本是11.0)

以下一段代码是前期绑定后,打开收件箱第2封邮件的代码(按主题排序):

Sub OpenMail_1()

Dim myOlApp As New Outlook.Application

Dim myNameSpace As Object

Dim myFolder As Object

Dim myItem As Object

Set myNameSpace = myOlApp.GetNamespace("MAPI")

Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)

Set myItem = myFolder.Items(2)

myItem.Display

End Sub后期绑定

后期绑定就是在程序运行的时候才进行绑定,不需要事先引用Microsoft Outlook 11.0 Object Library,而是需要运用GetObject和CreateObject函数。

以下代码同样是实现:打开收件箱第2封邮件(按主题排序):

Sub OpenMail_2()

Dim myOlApp As Object

Dim myNameSpace As Object

Dim myFolder As Object

Dim myItem As Object

'如果outlook已经打开,直接取Outlook实例,如果没有打开,则创建一个Outlook实例

'(我不喜欢多打开一个Outlook窗口)[em01]

On Error Resume Next

Set myOlApp = GetObject(, "Outlook.Application")

If Err.Number = 429 Then

Set myOlApp = CreateObject("Outlook.application")

End IfSet myNameSpace = myOlApp.GetNamespace("MAPI")

'后期绑定对象库的时候,GetDefaultFolder类型不能常量“olFolderInbox”表示

'要用参考值来表示,olFolderInbox的参考值为6

Set myFolder = myNameSpace.GetDefaultFolder(6)

Set myItem = myFolder.Items(2)

myItem.DisplayEnd Sub这里有一个小小的不同之处:

前期绑定用的是 GetDefaultFolder(olFolderInbox)

后期绑定用的是GetDefaultFolder(6)

olFolderInbox是Outlook的一个内置对象模型,在后期绑定对象库的时候不会开放给Excel,不能被ExcelVBA识别,因此不能用常量的形式(olFolderInbox)表示,只能用参考值(6)来表示。

从以上看来,前期绑定的代码更容易进行理解和调试,但是,当我们要共享文档的时候,就会出现问题了,因为不能保证每个人用的Outlook版本都和你的一样,如果不一样的话,对象库也会不一样,这时用前期绑定的程序就会报错。而用后期绑定的话,可以不用理会别人的版本是什么,都可以运行。因此我会更喜欢用后期绑定[em01]

[此贴子已经被作者于2009-10-13 5:01:50编辑过]

vba 添加outlook 签名_ExcelVBA调用Outlook对象相关推荐

  1. vba 添加outlook 签名_调用Outlook发送邮件-附带签名

    时 间:2018-10-25 13:06:22 作 者:摘 要:怎么样在调用Outlook的时候附带上签名呢? 正 文: 由于签名一般都有特殊格式,所以在access中直接加入文本签名是不可行的,那么 ...

  2. vba 添加outlook 签名_如何在Outlook中添加默认签名

    当年话下 我的解决方案是首先显示一条空消息(使用默认签名!)并将目标strHTMLBody插入现有消息中HTMLBody.如果像PowerUser所述,在编辑HTMLBody时签名被删除,您可以考虑在 ...

  3. vba mysql 自动化错误_excel-vba – 错误-2147417848自动化错误调用的对象已与其客户端断开连接...

    我正在努力清理3张excel表中的一些表格. 我的代码在Excel 2007中运行良好,因为我切换到excel 2010我开始得到此运行时错误自动化错误调用的对象已与其客户端断开连接,错误号为-214 ...

  4. Python 调用 Outlook 发送邮件

    微软 Office 提供基于 COM 接口的编程.Python 通过 pywin32 可以方便地调用各组件.如果下载和安装 pywin32 有困难,可以到 Sourceforge 的镜像网摘查找合适的 ...

  5. c语言outl函数,如何调用outlook

    经有好几个人询问如何在Excel中使用VBA调用Outlook或者其它Office应用程序,其实做法很简单,关键还是对于目标应用程序的对象模型的掌握和使用,这里有一个以前做过的例子,是在Excel中做 ...

  6. Python: Git Log自动生成Release Notes,并调用Outlook发送至邮件

    Python: Git Log自动生成Release Notes,并调用Outlook发送至邮件 主要功能 先上图 生成ReleaseNotes 邮件: 生成ReleaseNotes Text: 关键 ...

  7. outlook 签名_快速提示:轻松在Outlook 2007中的签名之间切换

    outlook 签名 There are many people who live in Microsoft Outlook a good percentage of the day. You mig ...

  8. outlook 签名_如何在Outlook 2013中创建新签名

    outlook 签名 If you sign your emails the same way most of the time, you can create signatures in Outlo ...

  9. python用outlook自动发邮件_python调用outlook发送exchange邮件(含附件)

    最近在解决一个问题,就是生成每日数据的报表,然后利用邮件群发给各位同事.由于主要工作不在这,为了节省时间,所以选择了使用python语言. 选择发送邮件时,有人可能会说直接使用smtp库不就行吗?为啥 ...

最新文章

  1. 给DataGrid添加确定删除的功能
  2. SYSENTER——快速系统调用
  3. 使用Mysql数据库完成增删改查综合案例(JSP页面)
  4. c语言键盘连续双击程序,编了个C语言的键盘程序有点问题,请指点下!
  5. sigsuspend函数(mysleep函数的改进)
  6. 376 Wiggle Subsequence 贪心解法以及证明
  7. san服务器型号,san存储服务器配置
  8. python自我复制的程序_Python自我
  9. uc/os-II的内存改进与实现TLSF算法的详解,移植实现(二)
  10. maya 2017 linux 下载,Maya插件下载 Maya神级特效优化插件Soup For Maya 2017-2019 Win/Mac/Linux安装版 下载-脚本之家...
  11. 只有1kb的清理软件_1kb文件夹快捷方式病毒专杀工具
  12. 为什么我怎么也理解不了波粒二象性,是因为智商不够吗?
  13. 【FLY】Android(12)源码目录结构
  14. 分子结构的立体图怎么画?
  15. 魅族MX5 如何进入开发者模式
  16. 博士申请 | 新加坡科技设计大学段凌杰教授招收人工智能全奖博士生
  17. 关于项目外包的一些总结
  18. python termios
  19. 网易2018校园招聘:魔法币 [python]
  20. 基于Python使用ffmpeg批量缩放图片

热门文章

  1. c语言利用中断系统控制流水灯,基于流水灯的“微控制器应用”课程项目教学设计...
  2. 服装管理系统大一c语言
  3. MATLAB糖葫芦哈哈哈
  4. java不是关键字_以下( )不是Java的关键字。_学小易找答案
  5. UAC1.0和UAC2.0区别
  6. 西游记中孙悟空的蜕变
  7. 渝粤题库 陕西师范大学《西方文论》作业
  8. 高性能计算与高性能计算机讲座笔记
  9. 世上万事,不过是一懒二拖三不读书
  10. 整数拼接,拼成最小整数(暴力穷举)