gpt4 book ai didi

vb.net - 为什么我的 Excel 工作簿在 Excel 2010 中不可见?

转载 作者:行者123 更新时间:2023-12-02 23:30:47 24 4
gpt4 key购买 nike

我一直在使用 .xlsx 文件运行 Excel 导出功能。有时,在加载 Excel 文件时,我会使用 System.Runtime.InteropServices.Marshal.BindToMoniker() 方法。当有问题的文件打开但存在时,我得到以下结果:

Excel 将启动,但不会加载工作簿,也不会加载任何工作表。 Excel 显示为空白。

在执行导出的程序外部打开文件时,它会以完全相同的方式加载。 Excel 已打开,窗口顶部显示 Microsoft Excel,但没有可见的工作表。 Excel 看起来根本没有打开任何东西。

进入选项还表明没有打开的工作簿。该文件肯定有内容,正如我在 Notepad++ 中打开它时看到的那样,该文档有足够的详细信息让我可以看到工作簿中有工作表,但没有显示任何内容。

我不确定如何防止以编程方式发生这种损坏,或者如何修复它。任何建议或想法将不胜感激!

为了避免这个问题,我从不在关闭的Excel文件上使用BindToMoniker(通过检查文件是否被锁定,如果它被解锁,我只使用打开功能)

这是我遇到此问题时运行的代码。仅当文件存在且未打开时才会发生:

    Public Function OpenExcelFile( _
ByRef pobjExcel As Excel.Application, _
ByRef pwkbWorkBook As Excel.Workbook, _
ByVal pstrFileName As String) As Boolean

...

pwkbWorkBook = BindToMoniker(pstrFileName)
pobjExcel = pwkbWorkBook.Parent
pobjExcel.Visible = True 'Temp; I use this to see the state of the file

最佳答案

难道是工作簿被隐藏了?在 View 选项卡上,如果启用了“取消隐藏”,您可以显示隐藏的工作簿。

此外,如果您认为工作簿应该可见,您可以通过更新 Windows 可见属性来显示它。

pobjExcel.Windows(workbookName).Visible = True

关于vb.net - 为什么我的 Excel 工作簿在 Excel 2010 中不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12428101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com