У меня есть следующая команда, которая протестирована и работает в PowerShell:
(new-object -com shell.application).windows()
| where {$_.Type -eq ""HTML Document"" -and $_.LocationURL -match ""$locationurmatch""}
| select -last 1 > test918.txt
В Microsoft Access у меня есть следующий код VBA, в котором я пытаюсь выполнить эту команду PowerShell, но она НЕ создаеттекстовый файл, как и предполагалось:
pscmd = "PowerShell.exe (new-object -com shell.application).windows() | where {$_.Type -eq ""HTML Document"" -and $_.LocationURL -match ""$locationurmatch""} | select -last 1 > test918.txt"
Shell(pscmd)
Однако следующий код создает выходной файл с напечатанным текстом:
pscmd = "PowerShell.exe 'test' > thisisatest.txt"
Shell(pscmd)
Я напечатал «pscmd» в отладчике и скопировали вставил результат в PowerShell, и он выполняется без ошибок.Это наводит меня на мысль, что команда PowerShell может быть неправильно отформатирована для VBA.