2012-01-18 138 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應用程序

相關問題