ShellExecute打开Excel文件的问题,急!!!
代码如下:
HINSTANCE hi;
hi = ShellExecute(0, "open", "c:\test.xls", NULL, NULL, SW_SHOWNORMAL);
if ((long)hi <= 32)
{
....
}
在安装了excel2003的机器上能顺利打开test.xls。但在excel 2000 的机器上只能启动excel,然后提示说找不到这个文件,但c:\test.xls这个文件明明存在,且在cmd中输入"c:\test.xls"确能正常打开,为什么?
问题点数:100、回复次数:7Top
1 楼striking(庸人自扰)回复于 2006-03-14 20:22:19 得分 50
c:\test.xls
->
c:\\test.xls
Top
2 楼ydfivy(我就是一送外卖的)回复于 2006-03-14 20:28:29 得分 30
ShellExecute(0, "open", "c:\\test.xls", NULL, NULL, SW_SHOWNORMAL);
试试吧.一般路径中的'\'要写成'\\'转义才行.Top
3 楼jxc1999()回复于 2006-03-14 20:31:39 得分 0
那为什么安装了excel2003就可以了呢?Top
4 楼striking(庸人自扰)回复于 2006-03-14 20:34:17 得分 0
安装了excel2003 可能是xp系统, 会自己处理\到\\的转化,
excel2000的系统可能是别的系统把, 应该不是xpTop
5 楼jxc1999()回复于 2006-03-14 20:44:18 得分 0
装excel2000的是XP,今天没时间了,明天照你们的方法试试吧Top
6 楼toumao(偷猫)回复于 2006-03-14 20:57:07 得分 20
c:\test.xls中间的\t相当于一个TAB键,打歪了。Top
7 楼jxc1999()回复于 2006-03-15 09:37:42 得分 0
问题解决了,就是转义序列的问题,\改为\\就可以了,execl2003可能对\作了处理,而excel2000则没有。谢谢大家!Top




