Есть ли альтернатива RDO.Session - Outlook Redemption dll - PullRequest
0 голосов
/ 17 января 2020

Я создал мини-программу в vb net, которая имеет возможность вручную вводить некоторую информацию в различные флажки, а затем с этой входной информацией программа редактирует шаблон внешнего вида .msg. Проблема в том, что у меня ошибка «Невозможно создать компонент ActiveX». в "Create Object (" Redemption.RDOSession "). (Пожалуйста, найдите скриншот для более подробной информации). Невозможно создать компонент ActiveX

Не могли бы вы сказать мне, если у вас есть какие-либо идеи о том, как решить эту проблему? или если у вас есть альтернативный способ вместо этого.

Я использую dll:

Imports Outlook = Microsoft.Office.Interop.Outlook

Погашение импорта

Импорт системы

Импорт System.IO

Импорт System.Text

Импорт MailMessage = Aspose.Network.Mail.MailMessage

Импортирует ответ

Импортирует System.Globalization

Interop.Redemption

Библиотека объектов Microsoft Outlook 16.0

Microsoft HTML Библиотека объектов

Библиотека типов InteropExtension 1.0

Автоматизация OLE

OutlookAddinLib

Погашение Outlook и библиотека MAPI COM


Вот некоторые из кодов, которые мы есть проблема:

'РЕДАКТИРОВАТЬ .MSG files

'Dim OpenPath As String = TextBox5.Text & TextBox1.Text & "\" & EmailUpdate_Renamed

    'Dim Sess As RDOSession
    'Dim myMsg As RDOMail

    Dim mySubject As String
    Dim myToo As String
    Dim myCC As String
    Dim Sess As Object
    Sess = CreateObject("Redemption.RDOSession")
    'Sess.MAPIOBJECT = Application.ProductName

    Dim myMsg As Object = Sess.GetMessageFromMsgFile(OpenPath)

    'myMsg = Sess.GetMessageFromMsgFile(OpenPath)
    'myMsg.Display()

    'EDIT SUBJECT
    mySubject = myMsg.Subject
    myMsg.Subject = Replace(mySubject, "Number", TextBox7.Text)
    mySubject = myMsg.Subject
    myMsg.Subject = Replace(mySubject, "Direction", ComboBox1.SelectedItem)
    mySubject = myMsg.Subject
    myMsg.Subject = Replace(mySubject, "Name", TextBox1.Text)

    'EDIT TO
    myToo = myMsg.To
    myMsg.To = TextBox9.Text

    'EDIT CC
    myCC = myMsg.CC
    myMsg.CC += ";" & TextBox10.Text

    'SAVE
    myMsg.Save()

1 Ответ

0 голосов
/ 17 января 2020

Если вы используете Redemption, его нужно установить. DLL с соответствующей разрядностью (redemption.dll для 32-битных и redemption64.dll для 64-битных) можно скопировать в любую папку и установить с помощью regsvr32.exe (вам не нужны привилегии администратора для этого).

Также убедитесь, что разрядность вашего приложения соответствует разрядности системы Outlook / MAPI - см. http://www.dimastr.com/redemption/faq.htm#ErrorCreatingRedemptionObject

...