Putty和Excel之间的互动(vba)

我一直试图通过从Excel中的VBA腻子自动化以下步骤

  1. login到腻子
  2. 执行一个命令
  3. 复制putty的结果并粘贴到excel中。

到目前为止,我已经编写了通过启动putty应用程序来login到服务器的代码(请参阅下面的代码)

Sub Putty() Dim TaskID As Long TaskID = Shell("path/putty.exe servername", vbNormalFocus) AppActivate TaskID, True SendKeys "username" SendKeys "{ENTER}" SendKeys "password" SendKeys "{ENTER}" '---- Here i need to execute a command for eg: "ls -l" and copy the result into Excel End Sub 

您能否介绍一下在这一步之后如何执行命令,并将结果从putty复制到Excel?

我会使用Plink而不是主要的Putty应用程序。 Plink是为命令行devise的腻子。

看看shellredirect, 在这里回答如下。

基本的想法是可以创build一个WScript.Shell对象,使用它运行plink.exe,然后写入StdIn并从StdOut读取。 StdIn就像在控制台窗口中input文本一样,StdOut是在所述控制台窗口中显示给用户的东西。

您可以在putty中指定一个日志文件,并随时查看该日志文件。 这不是最好的办法,但没有pipe理权限,这是做到这一点的一种方式。