特定の条件が満たされた場合に、Excel VBAマクロを使用してPowerShellスクリプトを起動しようとしています。コードの実行時にコードでエラーが発生せず、エラーなしでWindowsエクスプローラーウィンドウからPowerShellスクリプトを手動で実行できます。ただし、以下のVBAコードを実行すると、PowerShellが実行されず、理由がわかりません。
Dim x as Variant
If rs.RecordCount = 0 Then
x = Shell("POWERSHELL.exe " & "H:\MyFolder\MyFile.ps1", 1)
End If
実行時エラーは発生していませんが、PowerShellスクリプトが実際には実行されていないため、VBAコードに問題があるかどうかはわかりません
[〜#〜] update [〜#〜]:余分な引用符を使用すると、コマンドウィンドウにポップアップ表示されるエラーメッセージを確認できますが、それでもスペースに問題があります余分な引用。スペースを含まない別のファイルパスにスクリプトを移動しましたが、スクリプトの実行が無効になっているというエラーが表示されます。これはもはやコードベースの問題ではないようです。皆さん、ありがとうございました!
ファイルパスにスペースがある場合は、引用符で囲む必要があります。
x = Shell("POWERSHELL.exe -noexit " & _
"""H:\Operations\REPORTS\Reports2018\Balance Sheet\SLmarginJE.ps1""", 1)