如题。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,但知道方法怎么创建这个实例的步骤或是方法,或是思路,都可以说一下,谢谢。。无论回答是怎么样,大家进来就回个贴吧。最好就是可以有解决方法。

解决方案 »

  1.   


    ~~~~~~~~~Any body help me~?This problem let me have a headache....~~~
      

  2.   

    你要做什么,我最近在做一个word插件,也是 用VS做的,基本已经完成。可以交流下。
    QQ:308034144
      

  3.   

    你是不是在WinForm中想调用这个模板,用来打开文件或者附加模板?
    我搞了几天这个玩意比较有趣啊。。
    呵呵  我用VBA在word中写核心代码,然后用VB6封装代码,然后在c#中调用,真是够繁琐的,不过这样一搞,虽然迷糊了好几天,但现在对这个Office 对象还是有所了解了。客户需求,没办法啊。
      

  4.   

    是不是想调用word中的对象,又不知道怎么得到当前的word对象?
      

  5.   


    我刚毕业出来,基本以前学得不好。VB不了解。但老板说,要我在一个星期内,把C#调用VSTO的Word或Excel搞定。他说,直接用C#调用Office的DLL不好,就进程来说,每次都要代码里手动写入将其Excel.Application.Quit()或是Word.Application.Quit()的。就这定特别不好。而在VSTO里的话,Office是在宿主里的,而这个宿主又是基于开发环境生产的,如果将C#这个程序关了,那么相应的他也会对宿主里的所有对象释放掉,而我对宿主根本不懂。所以做起来很麻烦。
      

  6.   

    【VSTO之家】
    http://vsto.5d6d.com【VSTO专家群】109033523借VS2010东风,CSDN为啥不搞一个VSTO版快!!!!