4

作为 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 替代品的指针。

4

2 回答 2

1

在寻找 RefEdit 错误的解决方法时,我遇到了这个 RefEdit 控件替换。第三方控件当时不是我的选择,但它可能会帮助你。

于 2008-09-19T18:39:37.517 回答
0

不确定您的问题:您是否尝试将 RefEdit 导入 Delphi?

您可以从 RefEdit.dll 将其作为 ActiveX 控件导入,然后将 TRefEdit 控件放入任何 Delphi 窗体中。并且您拥有与 VBA 应用程序中相同的 RefEdit。

或者它是你尝试过的,但它不起作用,因为 RefEdit 需要一些 VBA woodoo ...?

于 2008-09-20T07:16:24.407 回答