【发布时间】:2012-11-13 17:17:36
【问题描述】:
假设我在 WinForms 应用程序中进行了以下设置:
Dim ExcelApp As Microsoft.Office.Interop.Excel.Application
Dim ExcelWorkbook As Microsoft.Office.Interop.Excel.Workbook
Dim wksDataVals As Microsoft.Office.Interop.Excel.Worksheet
ExcelApp.Visible = False
基本上,我有一个不可见的 Excel 实例在后台运行,其中打开了一个名为 ExcelWorkbook 的工作簿和一个名为 wksDataVals 的应用程序正在操作的工作表。并且用户正在通过用户表单操作此工作表(和其他工作表)并根据这些操作查看一些输出。
现在,在我的表单上,我有一个按钮 Show Excel Sheet,一旦用户单击它,我想在新的独立工作簿中向他们显示 wksDataVals 的副本,同时将原始文件隐藏在后台以获取更多数据操纵。我相信我需要通过创建一个新的 Excel 实例来做到这一点,因为我想隐藏这个实例。
有没有比这样做更好的方法:
- 保存工作表
- 创建一个新的(可见的) Excel 实例
- 在该实例中重新打开工作表
(由于我希望它在另一个 Excel 实例中保持打开状态,这可能会导致工作表现在只能是只读的) - 我知道我可以通过将工作表重新保存为新名称来克服这个问题,但这一切似乎有点过头了。
关于如何以最简单的方式完成此任务的任何想法? - 也许有一种方法可以在内部保存工作簿/工作表并将其提供给新的 Excel 实例,而不是让 Excel 尝试打开保存的工作表??
谢谢!
【问题讨论】: