我试图在实际打开之前获取工作簿的名称。

((Excel.AppEvents_Event)this.Application).WorkbookOpen += new Excel.AppEvents_WorkbookOpenEventHandler(App_WorkBookOpen);



private void App_WorkBookOpen(Excel.Workbook Wb)
            {
                System.Windows.Forms.MessageBox.Show("Shakti " + " " + Wb.Name);

            }


使用上面所示的处理程序,Excel应用程序在完全打开时会显示工作簿名称。我的目的是在实际打开工作簿并将数据显示给用户之前进行一些正式检查。

在将内容加载到Excel并显示给用户之前,是否有任何方法或机制可以提取文件名?任何帮助都是高度赞赏的。谢谢。

最佳答案

AFAIK,您不能那样做。但是就像我在评论中提到的那样,您可以在工作簿可见时将其隐藏。因此,用户将看到工作簿暂时打开,然后变得不可见。在那一瞬间,您可以读取工作簿的名称,然后隐藏该工作簿。

根据您的计算/结论,您可以根据需要关闭/取消隐藏工作簿。

您可以使用隐藏工作簿

Wb.Windows[1].Visible = false;

关于c# - 在实际打开之前提取Excel工作簿名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20152103/

10-12 18:28