2016-01-19 2 views
1

Надеюсь, что у кого-то есть предложение. Я инженер сети, который на протяжении многих лет занимался программированием и написанием сценариев, но я не программист.Включить скрипт PowerShell в Excel

Моя текущая проблема: я создал форму в Excel для сбора данных для определенного типа установки. Я также использовал данные, введенные в форму, для создания конфигураций для различных сетевых устройств, участвующих в этой установке. Эти конфиги - это простой текст, который вы можете копировать и вставлять в сеанс telnet или ssh.

Я хотел бы иметь способ щелкнуть кнопку в моей форме excel и автоматически нажимать конфигурацию на устройство, поэтому пользователю не нужно копировать и вставлять его на устройство. На листе уже есть несколько кнопок, привязанных к макросам VBScript, которые выполняют различные функции, включая сброс конфигураций в файлы. Однако, поскольку VBScript не имеет собственного способа открыть сеанс (telnet) для устройства для отправки/получения текста, я ищу способ использовать сценарий PowerShell для ввода конфигураций.

Я уже написал сценарий PowerShell, чтобы вытащить файл, содержащий текстовую конфигурацию, на устройство через telnet и захватить любой ответ на файл журнала, но я не могу найти способ включить сценарий PowerShell в качестве макроса в Excel, как вы можете с помощью VBScript в MS Visual Basic для приложений.

Я пытаюсь избежать создания пакета .MSI или .zip, который будет включать в себя файл Excel и сценарий PowerShell (или записывать что-то в скомпилированном .exe). Конечной целью этого является наличие инструмента, который может заполнить любой, кто работает в Windows, и несколько кнопок, чтобы отправить конфигурации (текст) на устройство через telnet, не устанавливая ничего на своем ПК. Этот инструмент будет для других сетевых инженеров, которые знают намного меньше меня (не то, что я знаю много) о сценариях или Excel.

+1

Вы пытались использовать 'Shell()' для запуска файла Powerscript? –

+0

http://superuser.com/questions/724981/call-powershell-script-from-excel-macro. Надеюсь это поможет! –

+0

Telnet от VBA - http://officetricks.com/start-telnet-session-from-excel-autorun-commands/ –

ответ

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 
+0

Спасибо, но мне все же требуется, чтобы у меня был файл «My PS File.ps1», сохраненный в папке, к которой пользователь имеет доступ (либо к общей папке, либо к локальной копии файла PowerShell). Я хочу встроить скрипт PowerShell в файл .xlsx, как вы можете с кодом VBScript в макросе. –

Смежные вопросы