3

我在 Win7/64bit 上使用 powershell 3 。我正在尝试通过以下命令使用 .net of excel(32 位):[microsoft.office.interop.excel.xlfileformat] 我收到此错误:无法找到类型 microsoft.office.interop.excel.xlfileformat:确保加载包含此类型的程序集。我之前用Win7/32bit的时候没有这个错误。也许有人知道如何解决这个问题?

4

2 回答 2

7

您需要像这样加载 Excel 互操作程序集:

Add-Type -AssemblyName Microsoft.Office.Interop.Excel

如果需要使用 Excel 互操作程序集中定义的类型,则必须先将该程序集加载到 PowerShell 中,然后才能引用其中定义的类型。您正在使用枚举 (xlFileFormat),因此 PowerShell 需要该类型的定义。

于 2013-07-16T16:28:02.190 回答
1

Redemption.dll在尝试运行PowerShell 64 bitfor时遇到了一些类似的问题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。这非常适合我需要的东西!

于 2016-04-21T09:00:51.650 回答