Excel: создание кнопки -> запуск PowerShell
Подскажите пожалуйста, каким образом можно реализовать следующее:
1. Есть ячейка, необходимо создать кнопку на листе;
2. При нажатии на кнопку должен открываться Windows PowerShell ISE и вставляться туда содержимое ячейке, которая выделена.
|
Например, так:
Скрытый текст
Код:
Option Explicit
Sub Кнопка1_Щелкнуть()
Dim strTempFile As String
Dim objRange As Range
strTempFile = GetTemporaryName()
With CreateObject("Scripting.FileSystemObject").CreateTextFile(strTempFile, True)
For Each objRange In Selection
.WriteLine objRange.Text
Next
.Close
End With
CreateObject("WScript.Shell").Run """PowerShell_ISE.exe"" -File """ & strTempFile & """", 1, False
End Sub
'=============================================================================
' Серый форум / vbscript: генерация пути для временного файла или папки
' (http://forum.script-coding.com/viewtopic.php?id=1221)
'=============================================================================
Function GetTemporaryName()
Const TemporaryFolder = 2
Dim strTempName
With CreateObject("Scripting.FileSystemObject")
Do
strTempName = .BuildPath(.GetSpecialFolder(TemporaryFolder), .GetBaseName(.GetTempName) & ".ps1")
Loop While .FileExists(strTempName) Or .FolderExists(strTempName)
End With
GetTemporaryName = strTempName
End Function
'=============================================================================
|
Iska, а как сделать тak, чтобы перед вставленной ячейкой, всегда автоматически вставлялись следующие строки:
Код:
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exch.domain.ru/PowerShell/ -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session -DisableNameChecking
|
Цитата:
Цитата it3
а как сделать тak, чтобы перед вставленной ячейкой, всегда автоматически вставлялись следующие строки: »
|
Например, так:
Код:
…
With CreateObject("Scripting.FileSystemObject").CreateTextFile(strTempFile, True)
.WriteLine "$UserCredential = Get-Credential"
.WriteLine "$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exch.domain.ru/PowerShell/ -Authentication Kerberos -Credential $UserCredential"
.WriteLine "Import-PSSession $Session -DisableNameChecking"
.WriteLine
For Each objRange In Selection
…
|
Время: 02:51.
© OSzone.net 2001-