3

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

这是代码的一部分

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());
4

2 回答 2

2

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

您将不得不编写自己的非模态输入表单来解决该限制。请注意这样做时可能遇到的麻烦,如链接答案所示。您不必担心用户关闭用户界面问题,这也会杀死表单。但绝对是用户重新发布命令问题。

于 2012-11-27T12:54:59.147 回答
0

看看这个:如何使用 RefEdit 控件选择一个 excel 范围

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

于 2012-11-27T12:54:42.330 回答