小さな C# アプリをヘルパー ツールとしてデータベースにリンクするために、VBA for MS Access を使用しています。ShellAndWait ユーティリティやそのページの別のユーティリティなど、stackoverflow 自体からいくつかの異なるアイデアを試しました。
フォームにボタンがあります。このボタンをクリックすると、現在保存している別のアプリケーションが実行されます%APPDATA%/program/
これは現在アクティブなコードです:
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 モジュールと別の同様のモジュールの両方で元のシェルを変更しました。アプリケーションが起動しないという点では、これらのオプションのどちらも同じように機能しません。
「ファイル」が正しいことを再確認しました( を指していますC:\Users\Me\AppData\Roaming\program\component_import.exe
)。アプリが正しい場所にあることを再確認しました。
ファイルエクスプローラーからダブルクリックすると問題なく動作します。Run-time error '53': File not found.
MS Access から実行しようとするたびに表示されます。
助言がありますか?
編集:余談ですが、パス自体にはスペースが含まれていません。
編集:いくつかの追加コードを追加しました。最初のペーストビンへのリンク: RunApplication pastebin 2 番目のペーストビンへのリンク: ShellAndWait pastebin