小さなC#アプリケーションをヘルパーツールとしてデータベースにリンクするには、VBAをMS Accessに使用しています。私はShellAndWaitユーティリティとそのページの別のものを含むstackoverflow自体からいくつかの異なるアイデアを試しました。VBA Shellコマンドは常に「ファイルが見つかりません」を返します
私はフォーム上にボタンを持っています。
Private Sub BtnImport_Click()
Dim file As String
Dim hProcess as Long
file = Environ("APPDATA") & "\program\component_import.exe"
'This is the standard version, which apparently does nothing at this time.
hProcess = Shell(file, vbNormalFocus)
'This is the RunApplication version I got from here earlier. It ends
'with "Successfully returned -532462766
import_funcs.RunApplication(file)
'This is the ShellAndWait version, which gives me a "File not Found" error
import_funcs.ShellAndWait(file, 0, vbNormalFocus, AbandonWait)
End Sub
私はShellAndWaitモジュールの両方のために、オリジナルのシェルを変更した:あなたは、このボタンをクリックすると、それは%APPDATA%/program/
に、私は現在、保存しています別のアプリケーションを実行する必要がありますこれは、現在アクティブなコードです他の同様のモジュール。これらのオプションのどちらも、私のアプリケーションが起動していないという点で異なっていません。
「ファイル」が正しいことを再確認しました(C:\Users\Me\AppData\Roaming\program\component_import.exe
を指しています)。私は私のアプリが正しい場所にあることを確認するために再度チェックしました。
ファイルエクスプローラからダブルクリックすると正常に動作します。それは私がMS Accessからそれを実行しようとするたびにRun-time error '53': File not found.
と言います。
提案がありますか?
編集:脇には、パス自体にスペースは含まれていません。
編集:追加コードをいくつか追加しました。最初ペーストビンへ リンク:第二ペーストビンへRunApplication pastebin リンク:ShellAndWait pastebin
これはまっすぐなコピーですか? –
Notepad.exeでコードを試しましたが、VBA経由で(ファイルエクスプローラ経由ではなく)APPDATAから実行ファイルを起動できません - Win7 64bitをフル管理者として起動することはできません - – Steve
@Andrew Leach:ええと、私がテストしていたことから、たくさんのコメントがあったのでコピーしていませんでした。スティーブ:ファイルエクスプローラからAPPDATAを実行すると、実際に%APPDATA%として実行する必要があります。 –