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

问题描述 投票:1回答:6

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

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

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

进入选项还表明没有工作簿开放。该文件肯定有内容,我可以看到当我在Notepad ++中打开它时该文档有足够的细节让我看到工作簿中有工作表,但不显示。

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

为了避免这个问题,我从不在封闭的Excel文件上使用BindToMoniker(通过检查文件是否被锁定,如果它已解锁,我只使用open函数)

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

    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
vb.net excel excel-2010
6个回答
3
投票

可能是工作簿被隐藏了吗?在视图选项卡上,如果启用了取消隐藏,则可以显示隐藏的工作簿。

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

pobjExcel.Windows(workbookName).Visible = True

1
投票

加入吧

pobjExcel.Windows(1).Visible = True

在您将Excel设置为可见之后。我相信你正在使应用程序可见,但工作簿仍然不是(至少这是我以前遇到的问题)。这应该解决它。


1
投票

我在excel 2010中遇到了同样的问题。今天早些时候我保存了文件并关闭了excel。我的计算机进入睡眠模式,当我重新启动并使用Windows资源管理器打开相同的Excel 2010文件时,excel只显示一个空白(灰色)屏幕。只有在VBA编辑器中我才能看到工作簿已打开。

我的解决方案(与上述相同但详细说明)

  • 使用ALT + F11打开VBA编辑器
  • 在左上方的项目资源管理器树视图中,单击未在excel前端中显示的刚刚打开的工作簿
  • 打开直接窗口(CTRL + G)
  • 键入“Windows(thisworkbook.name).Visible = True”并按Enter键

1
投票

试试这个

转到查看菜单,然后点击全部排列。它会给你一些选项复选标记Tiled。

它对我有用,希望也适合你。

最好,汗


0
投票

我有同样的问题,整个工作表在2015Jan01上看不见我去了View菜单并点击了“取消隐藏”图标所有标签都变得可见,我又重新保存了文件;-)


0
投票

这个简单的解决方案对我有用:打开工作表并转到“查看”选项卡,然后单击“新窗口”。

© www.soinside.com 2019 - 2024. All rights reserved.