无法让Excel生成电子邮件

当我运行我的macros来创build一个电子邮件,它停止在第一步我已经检查了图书馆和MS Office和MS Outlook的检查,

用代码;

Dim OutApp As Outlook.Application 

我收到未定义的错误用户定义types

和代码;

 Dim OutlookApp As Object Set OutlookApp = CreateObject("Outlook.Application") 

我收到

活动x无法创build对象

我已经尝试作为pipe理员运行,与Outlookclosures和打开,仍然无法让它创build的消息。

 Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Dim Email As String, Subj As String Dim answer As Integer Dim Msg As String, body As String, URL As String Dim OutApp As Object, OutMail As Object Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = Email .CC = vbNullString .BCC = vbNullString .Subject = Subj .body = body .Display End With On Error GoTo 0 

以下是您的两个工作解决scheme:

 Public Sub UsingEarlyBinding() 'A reference to the Microsoft Outlook XX Object Library is 'necessary to run this code (as mentioned by @gizlmeier) Dim OutlookApp As Outlook.Application Dim objEmail As Object Set OutlookApp = New Outlook.Application Set objEmail = OutlookApp.CreateItem(olMailItem) objEmail.Display End Sub 

 Public Sub UsingLateBinding() 'No references are necessary to run this code Dim OutlookApp As Object Dim objEmail As Object Set OutlookApp = CreateObject("Outlook.Application") Set objEmail = OutlookApp.CreateItem(0) objEmail.Display End Sub 

使用第一种解决scheme的优点是,你可以在VBE中看到一个下拉菜单(在编写代码的时候),让你自动完成。 这是由于VBE可以识别(参考)Outlook库,并可以从该库提供自动完成。 例:

在这里输入图像说明