Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 无法从代码中打开Office 2013_Vb.net_Visual Studio 2010_Office Pia - Fatal编程技术网

Vb.net 无法从代码中打开Office 2013

Vb.net 无法从代码中打开Office 2013,vb.net,visual-studio-2010,office-pia,Vb.net,Visual Studio 2010,Office Pia,我已经接管了VB.NET3.5项目的开发。我需要为Office 2013添加对Microsoft.Office.Interop.Outlook的引用,但它不会出现在我的COM引用列表中。我安装了Office 2013。我试图为PIA找到一个安装程序,但在2013年找不到 有什么建议吗 更新 我已升级到.NET 4,但在我的参考资料中找不到“Microsoft Outlook 15.0对象库”(请参见上图)。我尝试从Office磁盘安装它们,但已安装可编程性。我还从VS磁盘安装了Office D

我已经接管了VB.NET3.5项目的开发。我需要为Office 2013添加对Microsoft.Office.Interop.Outlook的引用,但它不会出现在我的COM引用列表中。我安装了Office 2013。我试图为PIA找到一个安装程序,但在2013年找不到

有什么建议吗

更新

我已升级到.NET 4,但在我的参考资料中找不到“Microsoft Outlook 15.0对象库”(请参见上图)。我尝试从Office磁盘安装它们,但已安装可编程性。我还从VS磁盘安装了Office Developer工具。我不知道从哪里得到这个文件

我尝试使用以下代码切换到后期绑定:

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组件”错误。

如果您正在使用后期绑定,并且应用程序和Outlook在不同的访问级别下运行,则会出现“无法创建ActiveX组件”错误


在我的例子中,VisualStudio作为管理员运行,而Outlook则正常运行。我关闭了Outlook,并以管理员身份再次打开它,没有任何例外。

Office 2013不再有PIA,它们已经过时,因为.NET 4+VS2010中添加了“嵌入互操作类型”功能。您需要从COM选项卡中选择“Microsoft Outlook 15.0对象库”。@HansPassant:谢谢您的回复。我的项目在.NET3.5中,我的主管希望我不要更改它。在进行辩论之前,我想确认升级到.NET 4并使用Microsoft 15.0对象库是继续进行的最佳方式。再次感谢您的回复。在8年前的自由软件版本上卡住是一个您无法得到帮助的问题@Tim值得向您的主管指出,.Net 3.5(发布于2007-11-19)比office 2013(发布于2013-01-29)早5年多