今天发现用ShellExecute函数调用某些程序时会出现莫名其妙的问题比如我用其调用 E:\tools\office2010\Office14\EXCEL.EXE 这个文件Call ShellExecute(0, "open", "E:\tools\office2010\Office14\EXCEL.EXE", vbNull, vbNull, SW_SHOWNORMAL)EXCEL会出现提示 1.xlsx 不存在.而直接在文件浏览器里面运行这个EXCEL.EXE 则无问题感觉是ShellExecute再运行程序时 自作主张的在后面加了运行参数请问大家有何办法

解决方案 »

  1.   

    我觉得操作Excel还是使用Excel对象好。
      

  2.   

    我不是要操作excel 只是要运行一个exe  这里excel只是一个例子而已
      

  3.   

    刚刚测试了一下 ShellExecute语句的确会在给出的命令后添加一个参数 1    真是莫名其妙
      

  4.   

    应该好好看看ShellExecute的用法!
    比如有打开excel,只需要指定1.xls就行,不需要指定exe文件的。如果只要打开exe,那么不如直接用shell就行。
      

  5.   


    我是要运行exe程序,而不是要调用exe去打开文件,以excel为例  我要的是运行后打开一个空白表,也就是和双击
    excel.exe一样的效果使用ShellExecute而不使用shell是因为ShellExecute不光可以运行exe,还可以可以运行 ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}这类命令
      

  6.   

    使用ShellExecute而不使用shell是因为ShellExecute不光可以运行exe,还可以可以运行 ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}这类命令对了,ShellExecute执行的是注册表中已经关联好的文件类型。所以...