Excel:防止外部工作簿打开?

时间:2014-09-18 13:38:39

标签: excel dialog vsto

在我的VSTO Excel加载项中我有时会有一个开放(模态)表单来选择一些参数来操作活动工作表中的某些操作。用户点击“确定”后,关闭对话框并触发长时间运行的服务器操作。之后,活动工作表中的数据将更新。

现在我的问题: 我们的一位测试人员进行了测试,他打开了模态对话框,然后在外部打开另一个工作簿(通过Windows7任务栏中的跳转列表)。直到他点击“确定”离开模态对话框才会发生任何事情。然后Excel打开另一个工作簿。但后来我丢失了我的活动工作表,无法正常继续。

只需使用此模态对话框即可防止任何“内部”打开操作。

但是可以阻止“外部”工作簿打开???

2 个答案:

答案 0 :(得分:0)

不,没有办法诱捕它,但你可以确保你的电子表格是唯一一个操作的电子表格,无论其他什么是打开的

如果set另一个变量指向工作簿的名称,那么您可以使用该名称,如果他们打开另一个工作表就不重要

e.g。而不是

Activeworkbook.Sheet("Data").Range("B7") = 7

您保存工作簿信息:

Dim DataWorkbook as workbook
Set DataWorkbook = ActiveWorkbook

稍后,您可以使用该崇敬,它将在预期的工作簿上运行

DataWorkbook.Sheet("Data").Range("B7") = 7

答案 1 :(得分:0)

我发现只有一种(原始的)防止外部工作簿打开的方法:

如果我进入工作表标签的编辑模式(不在其单元格中),则忽略外部工作簿打开。通过资源管理器打开操作双击Excel文件,当我离开工作表选项卡编辑模式时也不会恢复。

我不知道我是否真的应该使用这个“功能”来阻止外部开放操作......: - /

我只是想分享一下。对不起自我回答,Jörg

相关问题