如何将参数值从 sub 传递给 excel VBA shell 命令以进行远程执行?

D.prd

我需要在从我的 Windows 机器上的 VBA 宏中本地调用的 linux 服务器上远程运行命令(最终是脚本)。我在 Windows 命令提示符下测试了 VBA 之外的命令并且它可以工作,但我不确定如何从 VBA 宏中执行相同的操作,因为我需要传递参数值,这些值是组合框的选定值。我也无法将 Shell 的输出重定向到某个日志文件。我在网上查了几篇文章,得出了以下代码:

Private Sub UserForm_Initialize()
    comboBox1.List = Array("A", "B", "C", "D")
    comboBox2.List = Array("1", "2", "3", "4")
End Sub


Private Sub CommandButton1_Click()
    Call runCommand
    Unload Me
End Sub


Sub runCommand()
    Dim Ret_Val
    Dim Arg1 As String
    Dim Arg2 As String
    Dim command As String

    Arg1 = comboBox1.Value
    Arg2 = comboBox2.value

    command = "C:\Program Files\PuTTY\plink.exe" & " -v" & " " & "user@host" & " -pw" & " " & "testpw" & " " & "echo &Arg1,&Arg2" 

    Ret_Val = Shell(command & ">C:\logs\log.txt", 1)
    If Ret_Val = 0 Then
        MsgBox "Error!", vbOKOnly
    End If
End Sub

知道我在这里缺少什么吗?

蒂姆·威廉姆斯

你传递字符串“回声&ARG1,与Arg2所得”,而不是替代的价值Arg1Arg2

你需要更像:

command = "C:\Program Files\PuTTY\plink.exe -v user@host -pw testpw echo " & _
           Arg1 & " " & Arg2 

如果这不起作用,请提供您尝试生成的类型的已知工作命令行的示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将参数传递给Hudson Job的Shell命令

Excel VBA将参数传递给OLEDBConnection

如何将整数值传递给命令参数MultiBinding

将“Range(...) As Range)传递给Sub时的excel/vba语法错误?

使用at执行该命令时如何将参数传递给bash shell脚本?

将案例参数传递给Sub-VBA

将参数传递给 shell 命令

如何将Shell变量作为命令行参数传递给Shell脚本

如何使用腻子将多个命令传递给VBA中的Shell函数?

Shell脚本:如何将脚本的命令行参数传递给它调用的命令?

我如何将 python 变量传递给 shell 命令

如何将多个答案传递给 shell 命令?

如何将参数传递给通过shell命令启动的android应用

如何将命令行参数传递给Shell别名?

如何将别名作为参数传递给Shell命令

Excel VBA-将参数传递给属性

将 shell 命令传递给 bash 函数并执行它们

Django-将命令传递给Shell

如何将字符串命令传递给 shell 管道以执行它(awk 的输出)

Excel VBA:如何将类型结构的一个元素传递给vba中的函数

如何通过shell脚本将整数值传递给C程序可执行文件?

如何将 shell 脚本参数传递给 oozie

如何将管道参数传递给Shell脚本

如何将参数传递给Shell脚本?

将命令行参数传递给Spark-shell

使用YIIC Shell将参数传递给命令行

将'*'作为命令行参数传递给Shell脚本

我可以将VBA模块作为参数传递给Sub / Function吗?

将Excel数组常量传递给VBA函数