如何从PowerShell自动化打开Excel工作簿
我想打开一个Excel工作簿,读出数据,做其他types的操作等。我知道我必须添加一个程序集引用:
[Reflection.Assembly]::LoadFile("C:\Program Files\Microsoft Office\Office16\ADDINS\Microsoft Power Query for Excel Integrated\bin\Microsoft.Office.Interop.Excel.dll")
然后我需要实例化一个Application对象。
$workbook = New-Object -TypeName Microsoft.Office.Interop.Excel.Application
然而这个返回错误“没有find构造函数”是不是顺便说一下Microsoft.Office.Interop.Excel.Application的一个接口呢? 我想知道如何在这种情况下实例化。
您需要将其作为ComObject打开。
$Excel = New-Object -ComObject Excel.Application $Workbook = $Excel.Workbooks.Open($FilePath)
在这个例子中,您需要将$FilePath
定义$FilePath
要打开的Excel文件的完整path。
我find了一个很好的代码片断,它也在这里运行一个macros
# start Excel $excel = New-Object -comobject Excel.Application #open file $FilePath = 'C:\temp\Book1.xlsm' $workbook = $excel.Workbooks.Open($FilePath) #make it visible (just to check what is happening) $excel.Visible = $true #access the Application object and run a macro $app = $excel.Application $app.Run("Macro1")