如题。C#WinForm项目里如何调用Excel模版项目,或是WordDocument项目。Excel模版:就是一个Excel。WordDocument:就是一个Word文档。在VSTO里,可以看到,例如:WordDocument的Designer.cs里的构造函数。源码如下:
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public ThisDocument(Microsoft.VisualStudio.Tools.Applications.Runtime.IRuntimeServiceProvider RuntimeCallback) :
base(((Microsoft.VisualStudio.Tools.Applications.Runtime.IHostItemProvider)(RuntimeCallback.GetService(typeof(Microsoft.VisualStudio.Tools.Applications.Runtime.IHostItemProvider)))), RuntimeCallback, "ThisDocument", null, "ThisDocument") {
this.RuntimeCallback = RuntimeCallback;
}
就是这个构造函数。我本想在外部项目里创建一个WordDocument的实例的,但要用到这个WordDocument 的构造函数。这里问题来了:构造函数里的Microsoft.VisualStudio.Tools.Applications.Runtime.IRuntimeServiceProvider类型的参数:RuntimeCallback如何在外部赋值呢?而且这个Microsoft.VisualStudio.Tools.Applications.Runtime.IRuntimeServiceProvider接口我都不知道从何创建。我就这样想,如果我在外部可以创建这些Excel模版,或是WordDocument项目里的实例的话,那就可以用这个实例的公共成员的了。但就是不知道如何创建这个WordDocument实例。如果进来的朋友还不了解VSTO,但知道方法怎么创建这个实例的步骤或是方法,或是思路,都可以说一下,谢谢。。无论回答是怎么样,大家进来就回个贴吧。最好就是可以有解决方法。
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public ThisDocument(Microsoft.VisualStudio.Tools.Applications.Runtime.IRuntimeServiceProvider RuntimeCallback) :
base(((Microsoft.VisualStudio.Tools.Applications.Runtime.IHostItemProvider)(RuntimeCallback.GetService(typeof(Microsoft.VisualStudio.Tools.Applications.Runtime.IHostItemProvider)))), RuntimeCallback, "ThisDocument", null, "ThisDocument") {
this.RuntimeCallback = RuntimeCallback;
}
就是这个构造函数。我本想在外部项目里创建一个WordDocument的实例的,但要用到这个WordDocument 的构造函数。这里问题来了:构造函数里的Microsoft.VisualStudio.Tools.Applications.Runtime.IRuntimeServiceProvider类型的参数:RuntimeCallback如何在外部赋值呢?而且这个Microsoft.VisualStudio.Tools.Applications.Runtime.IRuntimeServiceProvider接口我都不知道从何创建。我就这样想,如果我在外部可以创建这些Excel模版,或是WordDocument项目里的实例的话,那就可以用这个实例的公共成员的了。但就是不知道如何创建这个WordDocument实例。如果进来的朋友还不了解VSTO,但知道方法怎么创建这个实例的步骤或是方法,或是思路,都可以说一下,谢谢。。无论回答是怎么样,大家进来就回个贴吧。最好就是可以有解决方法。
~~~~~~~~~Any body help me~?This problem let me have a headache....~~~
QQ:308034144
我搞了几天这个玩意比较有趣啊。。
呵呵 我用VBA在word中写核心代码,然后用VB6封装代码,然后在c#中调用,真是够繁琐的,不过这样一搞,虽然迷糊了好几天,但现在对这个Office 对象还是有所了解了。客户需求,没办法啊。
我刚毕业出来,基本以前学得不好。VB不了解。但老板说,要我在一个星期内,把C#调用VSTO的Word或Excel搞定。他说,直接用C#调用Office的DLL不好,就进程来说,每次都要代码里手动写入将其Excel.Application.Quit()或是Word.Application.Quit()的。就这定特别不好。而在VSTO里的话,Office是在宿主里的,而这个宿主又是基于开发环境生产的,如果将C#这个程序关了,那么相应的他也会对宿主里的所有对象释放掉,而我对宿主根本不懂。所以做起来很麻烦。
http://vsto.5d6d.com【VSTO专家群】109033523借VS2010东风,CSDN为啥不搞一个VSTO版快!!!!