Невозможно открыть Office 2013 из кода

Я взял на себя разработку проекта VB .NET 3.5. Мне нужно добавить ссылку на Microsoft.Office.Interop.Outlook для Office 2013, но он не отображается в моем списке ссылок COM. У меня установлен Office 2013 Я пытался найти установщик для PIA, но я не смог найти его в 2013 году.

Какие-либо предложения?

ОБНОВИТЬ

Я обновил до.NET 4, но мне не удалось найти "Библиотеку объектов Microsoft Outlook 15.0" в моих ссылках (см. Изображение выше). Я попытался установить их с диска Office, но программируемость уже была установлена. Я также установил Office Developer Tools с диска VS. Я не знаю, откуда взять этот файл.

Я попытался перейти на позднюю привязку с помощью следующего кода:

Sub DisplayMail()
    Dim oAPP As Object
    Dim oItem As Object
    Const olMailItem As Long = 0

    oAPP = CreateObject("Outlook.Application")
    oItem = oAPP.CreateItem(olMailItem)
    With oItem
        .To = Me.EmailAddress
        .Subject = Me.MySubjectTextBox.Text.Trim.Replace("%", "%25").Replace("&", "%26")
        .Body = Me.EmailMessageBox.Text.Trim.Replace("%", "%25").Replace(vbCr, "%0d%0A").Replace("&", "%26")
        .Display()
    End With
End Sub

Это работает, когда Outlook закрыт, но если у меня открыт Outlook, я получаю сообщение об ошибке "Не удается создать компонент ActiveX".

1 ответ

Если вы работаете с поздним связыванием, а ваше приложение и Outlook работают с разными уровнями доступа, вы получите сообщение об ошибке "Невозможно создать компонент ActiveX".

В моем случае Visual Studio запускался с правами администратора, а Outlook работал нормально. Я закрыл Outlook и снова открыл его как администратор, исключений не было.

Другие вопросы по тегам