在Excel

时间:2016-01-19 17:18:30

标签: excel excel-vba powershell vbscript vba

希望有人在这里提出建议。我是一名网络工程师,多年来做了大量的编程/脚本编写,但我不是程序员。

我目前的问题是,我在Excel中创建了一个表单来收集特定安装类型的数据。我还使用输入到表单中的数据来为此安装中涉及的各种网络设备创建配置。这些配置是简单的文本,您可以将其复制并粘贴到telnet或ssh会话中。

我希望能够点击Excel格式的按钮并自动将配置推送到设备,这样用户就不必将其复制并粘贴到设备上。该工作表已包含一些绑定到VBScript宏的按钮,这些按钮执行各种功能,包括将配置转储到文件。但是,由于VBScript缺乏打开会话(telnet)到设备发送/接收文本的本地方式,我正在寻找一种方法来使用PowerShell脚本来推送配置。

我已经编写了一个PowerShell脚本,通过telnet将包含文本配置的文件推送到设备,并捕获对日志文件的任何响应,但我找不到将PowerShell脚本包含为Excel中的宏,就像在MS Visual Basic for Applications中使用VBScript一样。

我试图避免创建包含Excel文件和PowerShell脚本(或在编译的.exe中编写内容)的.MSI或.zip包。最终目标是拥有一个工具,任何在Windows上运行Excel的人都可以填写,并点击几个按钮,通过telnet将配置(文本)发送到设备,而无需在PC上安装任何东西。这个工具适用于其他网络工程师,他们对脚本或Excel的了解远不如我(不是我所知)。

1 个答案:

答案 0 :(得分:0)

Sub RunAndGetCmd()

    strCommand = "Powershell -File ""C:\path\to\My PS File.ps1"""
    Set WshShell = CreateObject("WScript.Shell")
    Set WshShellExec = WshShell.Exec(strCommand)
    strOutput = WshShellExec.StdOut.ReadAll
    Msgbox strOutput

End Sub