我在Win7 / 64bit上使用PowerShell 3。 我试图使用.net of excel(32bit)和这个命令: [microsoft.office.interop.excel.xlfileformat] 我收到了这个错误: 无法找到类型microsoft.office.interop.excel.xlfileformat:确保已加载包含此类型的程序集。 我使用Win7 / 32bit之前没有出现此错误。 也许有人知道如何解决这个问题?
答案 0 :(得分:7)
您需要加载Excel互操作程序集,如下所示:
Add-Type -AssemblyName Microsoft.Office.Interop.Excel
如果需要使用Excel互操作程序集中定义的类型,则必须先将该程序集加载到PowerShell中,然后才能引用其中定义的类型。您正在使用枚举(xlFileFormat),因此PowerShell需要该类型的定义。
答案 1 :(得分:0)
尝试在Redemption.dll
中为PowerShell 64 bit
运行Outlook 2010 32 bit
时遇到类似问题。这就是我解决它的方法:
regsvr32.exe 'C:\path\Redemption.dll'
regsvr32.exe 'C:\path\Redemption64.dll'
$Job = Start-Job -ScriptBlock {
$routlook = New-Object -COM Redemption.RDOSession
$routlook
} -RunAs32
Wait-Job -Job $Job
Receive-Job -Job $Job
显然Start-Job
可以在ScriptBlock
模式下切换32 bit
。这对我需要的东西非常有用!