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

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

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

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

进入选项还表明,没有工作簿打开。 该文件肯定有内容,但我可以看到,当我打开它在记事本++文档有足够的细节,我看到工作簿中有工作表,但没有出现。

我不知道如何防止这种腐败发生编程,或如何解决它。 任何build议或想法,将不胜感激!

为了避免这个问题,我从来没有在closures的Excel文件上使用BindToMoniker(通过检查文件是否被locking,如果它被解锁,我只使用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 

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

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

 pobjExcel.Windows(workbookName).Visible = True 

只需添加

 pobjExcel.Windows(1).Visible = True 

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

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

我的解决scheme(同上,但精心制作)

  • 打开VBA编辑器使用ALT + F11
  • 在左上angular的项目浏览器树视图中,单击刚刚打开的工作簿,该工作簿不出现在Excel前端
  • 打开直接窗口(CTRL + G)
  • 键入“Windows(thisworkbook.name).Visible = True”并按回车

尝试这个

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

它为我工作,希望也为你工作。

最好的,汗

我有整个工作表相同的问题在2015Jan01不可见我去看菜单,点击“取消隐藏”图标所有的标签变得可见,我再次quicly保存文件;-)