首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将参数从VBA传递到Powershell脚本

如何将参数从VBA传递到Powershell脚本
EN

Stack Overflow用户
提问于 2016-03-02 05:33:08
回答 1查看 1.5K关注 0票数 2

我需要将一些参数从VBA7传递到Powershell脚本(4.0版)。我可以通过在Powershell编辑器中手动输入所有参数来运行PS脚本,并运行它来验证脚本是否工作。下面是PS脚本:

代码语言:javascript
复制
param(
    $pw,
    $from ="",
    $to ="",
    $subject = "",
    $body = "",
    $file = "",
    $server = "imap.myserver.com",
    $port = 111
)

$pw = ConvertTo-SecureString $pw -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($from, $pw)

try{
    Send-MailMessage -From $from -to $to -SmtpServer $server -Body $body -Subject $subject -Attachments $file -Port $port -Credential $cred -ErrorAction Stop
    Exit 0;
    }
catch
    {
    Write-Host $error[0]
    Exit 1;
    }

由于某些原因,当我从VBA调用此脚本时,它不起作用,我没有看到任何错误消息,我可以看到Powershell正在从宏调用,但没有任何反应。也许synthax是不正确的?我已经尝试在这里和那里添加引号,但没有成功。以下是代码的简化版本:

代码语言:javascript
复制
Sub CallPowerShellWithArguments()

    Call Shell("powershell.exe -ExecutionPolicy Bypass C:\Program Files (x86)\mailsend\send_reports.ps1 -pw Mypassword -from myemail1@mail.com -to myemail1@mail.com -subject MyEmail -body This is my test -file C:\mysql\test.tx")

End Sub
EN

回答 1

Stack Overflow用户

发布于 2016-03-02 06:15:34

我不确定这是否是正确的答案,但这绝对是你可以尝试的东西。我建议提供PowerShell.exe的完整路径。例如,

代码语言:javascript
复制
 C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35733964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档