我一直在试图找出方法来区分加载工作表的excel实例和不加载工作表的excel实例之间的区别
目前我使用代码打开看起来像这样的现有文件:
Dim wkbWorkBook as Excel.Workbook
Dim objExcel As Excel.Application
wkbWorkBook = System.Runtime.InteropServices.Marshal.BindToMoniker(filename)
objExcel = wkbWorkBook.Parent
'To make the excel app visible while working with it:
objExcel.Visible = true
我在使用此代码时注意到的是,如果我打开一个存在但未在 excel 中打开的文件,当我使 Excel 应用程序可见时,工作表不可见,但它们确实存在(我可以访问worksheets.count 并且有适当数量的工作表)
我尝试使用 Worksheets.Visible 但我注意到它只有在“可见”值所在的地方有一个 HRESULT 错误。
即使工作表可见,当我尝试获取 Visible 属性时也会发生相同的错误(如果我 BindToMoniker() 是当前在 excel 中打开的文件..)
我的部分问题是为什么 BindToMoniker() + Application = workbook.Parent 总是给我一个没有加载任何工作表的 Excel 应用程序。当它像这样时我无法使用它。