各位大大好
小弟最近在學寫POWERSHELL 在一段程式碼裡面我希望呼叫VBS 輸入介面 並且返回USER輸入
如下圖 但如果我把它寫在CLASS 裡面會出現以下錯誤
但沒寫在CLASS 裡面就不會有錯誤跑出來
請各位可以指引個方向或者跟我說我需要知道些什麼 謝謝
class test{
[string]input(){
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
$inputbox = [Microsoft.VisualBasic.Interaction]::InputBox("Enter your name", "Name", "Lastname")
return $inputbox
}
}
$t = [test]::new()
$t.input()
你要load VB的模組要先引入,在class外面不知道為啥沒報錯。
載入的地方有問題,你在=號的地方載入VB當然會錯
$是Powershell宣告變數的符號
正常使用是$x="Hello"這樣
不會有人在=右邊做任何載入模組的宣告
你應該要像這樣做
Add-Type -AssemblyName Microsoft.VisualBasic
$Message = [Microsoft.VisualBasic.Interaction]::InputBox("test1", "test2")
return $Message