CreateObject не работает в модуле класса (Visual Basic 6)

В проекте VB6 этот код работал для отправки электронной почты через Outlook 2013 с использованием библиотеки объектов Microsoft Office Outlook 15.0:

Private Sub Command1_Click()
Dim objOutlook As Outlook.Application
Set objOutlook = CreateObject("Outlook.Application")
Dim mail As Outlook.MailItem
Set mail = objOutlook.CreateItem(olMailItem)
mail.To = txt_Recipient
mail.Subject = txt_Subject
mail.body = txt_Inhalt.Text
mail.Send

Теперь, когда я пытался передать тот же код в модуль класса, он продолжал выдавать ошибку 429, что он не мог создать объект в третьей строке. Любая идея, почему он не работает в модуле класса, в то время как он работает, когда непосредственно кодируется в событии Command_Click?

Код в классе:

Public objOutlook As outlook.Application
Public Sub MailSenden(ByVal empfaenger As String, ByVal betreff As String, ByVal inhalt As String)
Set objOutlook = CreateObject("Outlook.Application")

Dim mail As outlook.MailItem
Set mail = objOutlook.CreateItem(olMailItem)

mail.To = empfaenger
mail.Subject = betreff
mail.body = inhalt
mail.Send

End Sub

Спасибо за любую помощь, вы можете дать мне! Colin

1 ответ

Мне любопытно, почему вы используете позднюю привязку, когда у вас есть удобная библиотека типов Outlook 15.0 (на которую есть ссылки в вашем проекте). Ты пытался:

Set objOutlook = New Outlook.Application
Другие вопросы по тегам