是否可以在 PowerShell中运行VB Code ?我不想从PowerShell中调用.vbs,我想在VBhell脚本中嵌入VB代码。我想,90%肯定你可以做到这一点,但我不知道如何以及似乎无法获得可靠的Google结果。我只是在猜测这一点。
我目前正在PowerShell中调用带有参数的.vbs,因为参数参数基于执行者在运行PowerShell时所做的选择,但我真的想将它们全部包装到一个文件中。
目前,我正在使用它将Excel工作表的第2页转换为CSV:
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
oBook.Worksheets(2).Activate
oBook.SaveAs WScript.Arguments.Item(1), 6
oBook.Close False
oExcel.Quit
我尝试使用this from the Scripting Guy blog,但无法让它工作,从来没有得到答案。
我收到此错误:
Const : The term 'Const' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify
that the path is correct and try again.
At line:1 char:1
+ Const xlCSV = 6
+ ~~~~~
+ CategoryInfo : ObjectNotFound: (Const:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
如果有人能告诉我这个PowerShell代码如何工作以获取我的Excel表格的第二张(SHEET1),我也会喜欢它。
我希望答案像我想的那样简单而愚蠢。感谢您的帮助。
答案 0 :(得分:2)
当您可以直接在Powershell中执行此操作时,无需使用VBS:
$a = New-Object -comobject Excel.Application
$a.Visible = $True
$b = $a.Workbooks.Open("C:\_Stuff\test2.xlsx")
$c = $b.Worksheets.Item(2)
$c.Activate()
$b.SaveAs(“C:\_Stuff\Test.csv”,6)
$b.Close(0)
$a.Quit()