2012-01-18 23 views
1

私はメモ帳VB6シェル機能 - 無効なプロシージャ呼び出しまたは引数シェル

を使用してファイルを開くには、シェル関数を実行しようとしています

私が開こうとすると、「無効なプロシージャ呼び出しまたは引数シェル」のエラーが表示されますファイル。

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

のそばにあるファイルがあると思います。変数をどのように宣言していますか? – JimmyPena

+0

@JP。私は宣言を掲示した。ありがとう – gberg927

+0

notepad.exeへの完全なパスを宣言したらどうしますか?これはJPのために働いている理由を説明することができます(メモ帳のパスは%path%環境変数にありますが、あなたのものではないので) – UnhandledExcepSean

答えて

1

これが私の仕事:

​​

Type-declaration charactersは、レガシーコードと考えられているので、私は宣言してそれらを避けます。 (ただし、Variantの戻り値の型を避けるために、Shell/Trim/Chrで使用しました)。

ファイルパスにスペースが含まれていると思われます。代わりにWSHOMをお試しください:

​​
+0

二重引用符を正しく使用すると、spaces-in-pathの問題を修正する必要があります。 – Tomalak

+0

@Tomalak私は引用符を正しく使用していると信じています。私が現在取り組んでいるプログラムにはシェルコールがたくさんあります。私はそれらをすべて変更する必要はありません。 – gberg927

+0

@ gberg927 Tomalakはそうです。パスにスペースがある場合は、引用符を二重にする必要があると思います。しかし、WSHメソッドは、その必要性を排除することになっています。 – JimmyPena

0

私はメモ帳があなたのコードは私のために働いたあなたのexeファイルのアプリケーション

関連する問題