XL98: SendMail 方法返回运行时错误 1004

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

241421
本文已归档。它按“原样”提供,并且不再更新。
症状
您在运行一个宏,该宏使用 SendMail 方法时,您可能会收到以下错误消息:
运行时错误 '1004':

方法 sendmail' 对象 '_Workbook 的失败
原因
SendMail 方法只适用于如 Starnine 邮件的 MAPI 邮件客户中。在这些的客户端 MailSystem 属性返回值为 1。
解决方案
Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。下面的示例宏确认您正在使用的邮件客户端是否 MAPI 客户端。然后,根据结果,宏,或者使用 SendMail 方法或使用 邮件收件人 CommandBar 控件一种替代方法。
Sub Check_Mail()Select Case Application.MailSystemCase xlMAPI    ThisWorkbook.SendMail Recipients:="<valid e-mail address>"    Case xlNoMailSystem    MsgBox "no mail client"Case Else    Application.CommandBars("worksheet menu bar") _    .Controls("File").Controls("Send To").Controls("Mail Recipient...").Execute    End SelectEnd Sub				
: 在上面的代码替换 < 有效的电子邮件地址 > 要向其您通常可以发送电子邮件通过您的电子邮件客户端的某个人的电子邮件地址。

您在运行 Check_Mail 宏时它将发送您的工作簿到指定的用户如果要使用 MAPI 电子邮件客户端。如果您没有使用 MAPI 电子邮件客户端,启动您的电子邮件客户端,但您必须在创建的新邮件中键入该人员的电子邮件地址。
更多信息
具体取决于您的电子邮件客户端 MailSystem 属性将返回以下常量之一:
   Constant          Value   -----------------------   xlNoMailSystem      0   xlMAPI              1   xlPowerTalk         2				
参考
有关如何运行的代码示例的其他信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
181058OFF98: 如何运行知识库文章中的示例代码
vba xl98 电子邮件电子邮件

警告: 本文已自动翻译

属性

文章 ID:241421 - 上次审阅时间:10/22/2013 00:32:43 - 修订版本: 3.2

  • Microsoft Excel 98 for Macintosh
  • kbnosurvey kbarchive kbmt kberrmsg kbprb KB241421 KbMtzh
反馈