Невозможно открыть 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 и снова открыл его как администратор, исключений не было.