我正在使用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());
答案 0 :(得分:2)
这完全是任何Windows用户界面的设计和标准。 InputBox函数显示模态对话框。对话框始终禁用应用程序中的其他窗口。非常烦人但是一个重要的安全措施,以防止由于重新入侵的问题。 This answer解释了为什么模态对话框的行为方式。
您必须制作自己的非模态输入表单以解决该限制。请注意您可能遇到的麻烦,如链接的答案所示。你不会害怕用户关闭ui问题,这也会破坏表单。但绝对是用户重新发布 - 命令问题。
答案 1 :(得分:0)
检查出来:how to select an excel range using RefEdit control
如果需要,我可以更新代码。请先尝试一下。