我已经为Office Second Edition安装了Visual Studio 2005 .
我希望在我的WinForms C#应用程序中嵌入一个Visio图表 . 但是,我在工具箱中没有任何新项目 .
我搜索过Google但无法自行解决问题 .
VSTO用于不同的东西(它用于创建Visio插件),它与你所追求的无关 .
您可以在C#应用程序中使用两个Visio控件:Visio Viewer控件(允许您在C#应用程序中查看Visio绘图)和Visio Drawing控件(允许您在C#应用程序中修改Visio绘图) . 要获取它们,您必须安装Visio或Visio Viewer .
要在工具箱中获取它们:
右键单击工具箱 - >选择项目..
在"Choose toolbox items"对话框中,选择选项卡"COM components"
选择"Microsoft Visio Drawing control"(绘图控件)或"Visio Document"(查看器),单击“确定”
现在你应该在工具箱中获得控制权 .
VSTO没有为此提供任何东西 .
您正在寻找的是OLE,对象链接和嵌入 . 微软Office最初于1990年发布,是微软最后一款仍然支持它的主要产品 . 时间对OLE来说并不友好,协议很复杂,很难做到正确 . 同样非常不利于程序稳定性,你不仅可以导入另一个程序的窗口和UI,还可以导入其所有错误 .
值得注意的是,.NET框架完全没有任何支持 . Office 2007是最后一个支持它的人,但它有几个令人讨厌且无法解决的问题 . 在Office 2010 beta发布之前,DsoFramer已从Microsoft服务器中删除 .
这已经一去不复返了 . 将UI嵌入到Office程序中,而不是相反 . VS中的Office项目模板非常支持 . 有第三方产品支持在您自己的程序中嵌入文字处理程序或电子表格 .
有关更多信息,请参见How do i embed MS word to a windows form app? .
2 回答
VSTO用于不同的东西(它用于创建Visio插件),它与你所追求的无关 .
您可以在C#应用程序中使用两个Visio控件:Visio Viewer控件(允许您在C#应用程序中查看Visio绘图)和Visio Drawing控件(允许您在C#应用程序中修改Visio绘图) . 要获取它们,您必须安装Visio或Visio Viewer .
要在工具箱中获取它们:
右键单击工具箱 - >选择项目..
在"Choose toolbox items"对话框中,选择选项卡"COM components"
选择"Microsoft Visio Drawing control"(绘图控件)或"Visio Document"(查看器),单击“确定”
现在你应该在工具箱中获得控制权 .
VSTO没有为此提供任何东西 .
您正在寻找的是OLE,对象链接和嵌入 . 微软Office最初于1990年发布,是微软最后一款仍然支持它的主要产品 . 时间对OLE来说并不友好,协议很复杂,很难做到正确 . 同样非常不利于程序稳定性,你不仅可以导入另一个程序的窗口和UI,还可以导入其所有错误 .
值得注意的是,.NET框架完全没有任何支持 . Office 2007是最后一个支持它的人,但它有几个令人讨厌且无法解决的问题 . 在Office 2010 beta发布之前,DsoFramer已从Microsoft服务器中删除 .
这已经一去不复返了 . 将UI嵌入到Office程序中,而不是相反 . VS中的Office项目模板非常支持 . 有第三方产品支持在您自己的程序中嵌入文字处理程序或电子表格 .
有关更多信息,请参见How do i embed MS word to a windows form app? .