当InputBox打开时,Excel无响应,c#

时间:2012-11-27 09:42:53

标签: c# excel excel-addins inputbox

我正在使用c#构建一个excel add,我希望用户选择一个范围。 我已经设置了输入框,并且当作为文本输入时它正在接收范围。 问题是当输入框打开时,excel没有响应,用户无法转到excel并且只是用鼠标选择范围,在我停止调试后,我收到一条消息“File Now Available”。

这是代码的一部分

Excel.Range str = excelApp.InputBox("Select table range", "", _ 
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 8);
MessageBox.Show("range = " + this.range.get_Address());

2 个答案:

答案 0 :(得分:2)

这完全是任何Windows用户界面的设计和标准。 InputBox函数显示模态对话框。对话框始终禁用应用程序中的其他窗口。非常烦人但是一个重要的安全措施,以防止由于重新入侵的问题。 This answer解释了为什么模态对话框的行为方式。

您必须制作自己的非模态输入表单以解决该限制。请注意您可能遇到的麻烦,如链接的答案所示。你不会害怕用户关闭ui问题,这也会破坏表单。但绝对是用户重新发布 - 命令问题。

答案 1 :(得分:0)

检查出来:how to select an excel range using RefEdit control

如果需要,我可以更新代码。请先尝试一下。