MATLAB提供actxserver函数把SPSS程序作为自动化服务器打开,而且在MATLAB中的命令窗口输入
spss=actxserver('spss.application')
运行结果为
spss=COM.spss.application说明SPSS是一个COM对象那么C#编程中应该用什么函数调用SPSS呢?(刚学习C#,希望能讲详细点,谢谢)

解决方案 »

  1.   

    在项目引用里添加上对这个com组件的引用试试
      

  2.   

    添加了引用,但是用什么函数把SPSS引入呢?
    难道只能通过SPSS的接口文档来调用吗?但是网上实在是找不到SPSS的接口文档有没有关于C#调用其他软件(COM对象)的例子?提供参考下,谢谢
      

  3.   

    光从SPSS的界面看,很像excel,看看能不能当excel用
      

  4.   

    仿照excel调用,代码如下:
    using System;
    using System.Reflection;
    using System.Threading;namespace ConsoleApplication1
    {
        class Program
        {
            static int Main(string[] args)
            {            Type spss;
                object[] parameter = new object[1];
                object spssObject;
                try
                {
                    spss = Type.GetTypeFromProgID("spss.Application");
                    spssObject = Activator.CreateInstance(spss);
                    parameter[0] = true;
                    spss.InvokeMember("Visible", BindingFlags.SetProperty, null, spssObject, parameter);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error Stack {0}", e.Message);
                }
                finally
                {
                    Thread.Sleep(5000);
                }
                return 0;
            }
        
        }
    }可是结果并不能象excel或者word一样成功调用,而是抛出异常"Error Stack 未知名称"
      

  5.   

    测试了下,好象是
    spss.InvokeMember("Visible", BindingFlags.SetProperty, null, spssObject, parameter);
    没有能正确运行,是这个函数的用法错了吗?但是换成Word或者Excel就正确的呀
    希望顺便讲下InvokeMember怎么用