高分求解:vs2005中如何检测本机office版本的问题,解决就揭帖,在线等!! 在vs2005中,如何检测本机office版本,因为写了一个导出到office2000的Excel的函数,如果当前安装的office版本是2003或者2007就报错,所以想通过不同的版本来调用不同的过程,在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 HKEY_LOCAL_MACHINE\Software\Microsoft\office\X.0(office版本号) 搜索注册表HKEY_LOCALE_MACHINE Software Microsoft Office看是否有12.0或11.0(分别对应2007和2003) 或者尝试实例化一个Word.ApplicationClass,然后获取其Version属性值 导出到Excel的操作,如果是一般的导出,可以不用Office的组件来导出,而是把Excel当做数据库来连接再向这个数据库插入数据就行了.这样就和Office的版本无关了. shalen520(Love will keep us alive) 或者尝试实例化一个Word.ApplicationClass,然后获取其Version属性值??问题是我当前的版本都不知道,根本就不知道应该添加哪个版本的组件,那则么能创建这个实例呢?编译都通不过啊? 用脚本可以,你使用webBrowser执行一下脚本就出来了<script>var a = new ActiveXObject("Word.Application")alert(a.Version)</script> 那你可以两种方法结合起来用嘛,就算有注册表值也不代表安装的office是ok的,只有能实例化word组件才能说office是ok的 不需要引用的版本来了……Type type;object excel;object version;type=Type.GetTypeFromProgID("Excel.Application");if(type==null){ MessageBox.Show("没有安装excel");}else{ excel= Activator.CreateInstance(type); if(excel==null) { MessageBox.Show("创建对象出错"); } else { version=type.GetProperty("Version").GetValue(excel,null); type.GetProperty("Visible").SetValue(excel,true,null); type.GetMethod("Quit").Invoke(excel,null); }}if(version!=null){ MessageBox.Show("Excel版本号是:" + version.ToString();} jinta2001() Type type; 需要什么引用? 不需要??你不会没有引用System吧using System; 偶也试了用progid通过后期帮定的方式来实例化word,没有通过,Type.GetTypeFromProgID得到Type总是System._ComObject,得不到version值,而我的机器是装了office的. 好的,揭帖,谢谢大家,特别感谢jinta2001() 自定义类序列化问题,求高人解救 求C#读取excel内容,然后保存在access 将数据导出到excel并带格式,如何写? 怎样使类中的某方法只能是通过特定构造函数实现的对象来引用! 排列组合算法求解 请求大家发表意见 一个精华贴!服务器端控件与客户端脚本之间的数据传递问题。 如果知道用户点击了窗体标题栏"最小化"和"关闭"按钮? 谁想要C#的原版书? 执行插入记录的SQL语句是否可以返回记录吗? 关于C#结束进程的问题 vs2005中的框架集问题
HKEY_LOCALE_MACHINE Software Microsoft Office
看是否有12.0或11.0(分别对应2007和2003)
或者尝试实例化一个Word.ApplicationClass,然后获取其Version属性值
??
问题是我当前的版本都不知道,根本就不知道应该添加哪个版本的组件,那则么能创建这个实例呢?编译都通不过啊?
var a = new ActiveXObject("Word.Application")
alert(a.Version)
</script>
Type type;
object excel;
object version;type=Type.GetTypeFromProgID("Excel.Application");if(type==null)
{
MessageBox.Show("没有安装excel");
}
else
{
excel= Activator.CreateInstance(type);
if(excel==null)
{
MessageBox.Show("创建对象出错");
}
else
{
version=type.GetProperty("Version").GetValue(excel,null);
type.GetProperty("Visible").SetValue(excel,true,null);
type.GetMethod("Quit").Invoke(excel,null);
}
}
if(version!=null)
{
MessageBox.Show("Excel版本号是:" + version.ToString();
}
需要什么引用?
??你不会没有引用System吧using System;