MATLAB提供actxserver函数把SPSS程序作为自动化服务器打开,而且在MATLAB中的命令窗口输入
spss=actxserver('spss.application')
运行结果为
spss=COM.spss.application说明SPSS是一个COM对象那么C#编程中应该用什么函数调用SPSS呢?(刚学习C#,希望能讲详细点,谢谢)
spss=actxserver('spss.application')
运行结果为
spss=COM.spss.application说明SPSS是一个COM对象那么C#编程中应该用什么函数调用SPSS呢?(刚学习C#,希望能讲详细点,谢谢)
难道只能通过SPSS的接口文档来调用吗?但是网上实在是找不到SPSS的接口文档有没有关于C#调用其他软件(COM对象)的例子?提供参考下,谢谢
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 未知名称"
spss.InvokeMember("Visible", BindingFlags.SetProperty, null, spssObject, parameter);
没有能正确运行,是这个函数的用法错了吗?但是换成Word或者Excel就正确的呀
希望顺便讲下InvokeMember怎么用