2012-01-18 126 views
1

我试图运行shell功能使用Notepad.exe的VB6 Shell函数 - 无效的过程调用或参数壳

打开一个文件

我在尝试打开时,“无效的过程调用或参数壳”错误文件。

Sub OpenTextFile(textfile$) 
    Dim txtapp$, arg$ 
    txtapp = "Notepad.exe" 
    textfile = "C:\Users\ADMIN\Desktop\USA - FLNG\modelout\SUMMER.CFS" 
    arg = Trim$(txtapp & " " & Chr$(34) & Trim$(textfile) & Chr$(34)) 
    ierr = Shell(arg, vbNormalFocus) 
End Sub 

任何想法?

+1

您的代码为我工作旁边一个文件Notepad.exe的。你如何声明你的变量? – JimmyPena 2012-01-18 16:02:39

+0

@JP。我发布了声明。谢谢 – gberg927 2012-01-18 16:10:31

+0

如果您声明notepad.exe的完整路径,该怎么办?这可以解释为什么它正在为JP(因为记事本的路径是在他的%PATH%环境变量,而不是你的) – UnhandledExcepSean 2012-01-18 18:22:44

回答

1

这为我工作:

​​

Type-declaration characters被认为是旧代码,所以我尽量避免他们的声明。 (不过我用他们与壳牌/修剪/ chr将避免变返回类型。)

我相信你所遇到的错误是因为你的文件路径包含空格。尝试WSHOM代替:

​​
+0

正确使用双引号应该可以修复路径中的空间问题。 – Tomalak 2012-01-18 16:51:14

+0

@Tomalak我相信我有正确使用引号。在我正在编写的程序中有一堆shell调用。我很乐意不必全部改变它们。 – gberg927 2012-01-18 18:47:39

+0

@ gberg927 Tomalak是对的,如果路径中有空间,我相信你需要将报价加倍。然而,WSH方法应该消除这种需要。 – JimmyPena 2012-01-18 18:48:40

0

我觉得这是位于您的EXE应用程序

相关问题