为什么即使我打开了 Excel 工作簿,ExcelApplication.Workbooks.Count 仍显示为零

Why ExcelApplication.Workbooks.Count is showing zero even when I have an Excel workbook open

即使我打开了文档,

ExcelApplication.Workbooks.Count 仍显示计数 = 0。

当打开的文档不在受保护的视图中时,

ExcelApplication.Workbooks.Count 显示计数 = 1。但是当打开的文档是 PROTECTED VIEWExcelApplication.Workbooks.Count 显示 0.

为什么在受保护视图的情况下工作簿计数为 0 excel?

Because:

A workbook displayed in a Protected View window is not a member of the Workbooks collection.

如果您需要获取受保护工作簿的句柄:

using (var protectedWorkbook = ExcelApplication.ProtectedViewWindows(1).Workbook)
{
    // do stuff 
}

一个稳健的解决方案将解决多个 ProtectedViewWindows 的可能故障情况。上面的代码假设只有一个。