ActiveX 组件无法为 Outlook VBA 创建对象

我正在尝试运行宏以通过 Outlook 发送电子邮件。

我的代码如下所示:

Sub Mail_small_Text_Outlook()
'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm
'Working in Office 2000-2013
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    strbody = "Hi there" & vbNewLine & vbNewLine & _
              "This is line 1" & vbNewLine & _
              "This is line 2" & vbNewLine & _
              "This is line 3" & vbNewLine & _
              "This is line 4"

    On Error Resume Next
    With OutMail
        .To = "ron@debruin.nl"
        .CC = ""
        .BCC = ""
        .Subject = "This is the Subject line"
        .Body = strbody
        'You can add a file like this
        '.Attachments.Add ("C:test.txt")
        .Send   'or use .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

在行: Set OutApp = CreateObject("Outlook.Application") ,它给出了一个错误:

runtime error '429': ActiveX Component can't create object.

我在cmd中运行了这一行:

regsvr32 /i "c:windowssystem32outlvba.dll".

然后它给了我这个错误:

The module "c:windowssystem32outlvba.dll" failed to load.
Make sure the binary is stored at the specified path or debug it to check
for problems with the binary or dependent .DLL files. The specified
module could not be found.

在这方面需要一些指导。

stack overflow ActiveX Component can't create object for Outlook VBA
原文答案

答案:

作者头像

Do you have the Click2Run edition of Office installed on the problematic PC?

The Click2Run edition of Office 2010 doesn't support automation. See Office 2010 Click-to-Run compatibility with add-ins for more information. Also you may find the How to: Verify Whether Outlook Is a Click-to-Run Application on a Computer article.

See You receive run-time error 429 when you automate Office applications for more information.