作为 VBA 的一部分提供的 RefEdit 控件有一点问题,但是当您希望人们指定一个或多个单元格范围(即Excel.Range
对象)时,它非常适合放置在表单上。
主要问题是您只能在 VBA 用户窗体上使用 RefEdit 控件(Microsoft 声明了这一点,我的测试也证实了这一点)。我正在使用Delphi制作 Excel 插件,并且正在寻找RefEdit control 的替代品。
Excel.Application.InputBox Type:=8
是选择单元格范围的另一种方法,但是当您需要人们在单个表单上选择多个单元格范围时,它不是非常用户友好。我目前最好的真正替代方法是从我的 Delphi 插件中调用 VBA 表单,但这远非理想。
因此,理想情况下,我可以直接替换 RefEdit - 我可以在 Delphi 表单上使用它。如果有,那就不容易找到(我一直在努力寻找,但我一直无法找到 Delphi、VB6 或 .NET 的直接 RefEdit 替代品)。
如果临时替换失败,我可能会尝试拼凑我自己的替代方案,但我怀疑即使不是不可能,也很难做出与 RefEdit 一样好用的替代方案。RefEdit 允许您“选择”单元格而不实际选择它们:它使用行军蚂蚁围绕您选择的单元格,而不是突出显示它们并更改Excel.Application.Selection
. 我不知道如何通过 VBA、Delphi 或其他方式操作 Excel 对象模型来做到这一点。
任何提示、技巧、技巧,或者,如果我真的很幸运,将非常欢迎指向插入式 RefEdit 替代品的指针。