【发布时间】:2013-03-29 03:14:36
【问题描述】:
我想在我的 Linux 服务器上使用 Excel 中的 VBA 调用一个脚本。为此,我使用了路径中的本地 Putty 副本。
我已经成功编写了一个命令来创建一个putty会话并登录到服务器,我只是不确定在shell中打开它之后如何传递另一个命令。
有什么想法吗?
下面的子程序可以工作,但是在尝试第二个命令时会导致问题。
干杯
Sub test()
Dim putty As String
Dim strCommand As String
Dim strCommand1 As String
Dim User As String
Dim Pass As String
Dim Host As String
Dim File As String
Dim RemotePath As String
putty = """" & Range("E3").Text & "\Putty.exe"""
User = Range("E8").Text
Pass = Range("E9").Text
Host = Range("E7").Text
'File = """" & Range("E11").Text & """"
RemotePath = Range("E10").Text
strCommand = putty & " -l " & User & " -pw " & Pass & _
" " & File & " " & Host & ":" & RemotePath
'MsgBox strCommand
Shell strCommand, 1 ' vbNormalFocus '
Module2.WaitFor (5)
Shell "ls -l > shell.log", 1
End Sub
【问题讨论】:
-
我意识到最后一次 Shell 执行不起作用,因为它不是 Windows Shell 命令,而是 Linux 命令。我认为我的问题是如何让最初调用的 shell 执行另一个命令。即使只有一个命令也可以,如此接近!
-
将命令分隔在一行,即命令a && 命令b 也不起作用。
标签: shell vba command-line-arguments putty