作为 VBA 一部分的 RefEdit 控件有一点问题,但当您希望人们指定一个或多个单元格范围(即 Excel.Range
对象)时,它非常适合放在表单上)。
主要问题是您只能在 VBA 用户窗体上使用 RefEdit 控件( Microsoft states this ,我的测试也证实了这一点)。我正在使用 Delphi 制作一个 Excel 插件,并且正在寻找RefEdit 控件的替代品。
Excel.Application.InputBox Type:=8
是选择一系列单元格的另一种方法,但当您需要人们选择多个单元格时,它不是很用户友好 单个表单上的单元格范围。目前我拥有的最佳替代方案是从 Delphi 加载项调用 VBA 表单,但这远非理想。
所以理想情况下,我可以使用 RefEdit 的直接替代品来实现 - 我可以在 Delphi 表单上使用它。即使有,也不容易找到(我一直在努力搜索,但一直没能找到 Delphi、VB6 或 .NET 的直接 RefEdit 替代品)。
如果无法直接替换,我可能会尝试拼凑出自己的替代方案,但我怀疑制作一个与 RefEdit 一样有效的替代方案即使不是不可能,也会很困难。 RefEdit 允许您“选择”单元格,而无需实际选择它们:它使用行进 Ant 围绕您选择的单元格,而不是突出显示它们并更改 Excel.Application.Selection
。我不知道有什么方法可以通过 VBA、Delphi 或其他方式操作 Excel 对象模型来做到这一点。
任何提示、技巧、窍门,或者,如果我真的很幸运的话,指向直接 RefEdit 替代品的指针都将受到欢迎。
最佳答案
我遇到了this RefEdit control replacement在寻找 RefEdit 错误的解决方法时。当时我无法选择第三方控件,但它可能会对您有所帮助。
关于excel - 可在 VBA 外部使用的 Excel RefEdit 控件的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/101673/