作为VBA的一部分出现的RefEdit控件有点儿错误,但是当你希望人们指定一个或多个单元格区域(即Excel.Range
个对象)时,它可以放在表单上。
主要问题是你只能在VBA UserForm(Microsoft states this上使用RefEdit控件,我的测试也会确认它)。我正在使用 Delphi 创建一个Excel加载项,我正在寻找替代RefEdit控件。
Excel.Application.InputBox Type:=8
是选择一系列单元格的另一种方法,但当您需要人们在单个表单上选择多个范围的单元格时,它不是非常用户友好的。我目前最好的替代方案是从我的Delphi插件调用VBA表单,但这远非理想。
理想情况下,我可以使用直接替换RefEdit - 我可以在Delphi表单上使用它。如果有一个,那就不容易找到(我一直在努力寻找,而且我无法找到Delphi,VB6或.NET的替代RefEdit替代品。)
如果没有替换,我可能会尝试将我自己的替代品拼凑在一起,但我怀疑如果不是不可能制作一款与RefEdit一样好的话也很困难。 RefEdit允许您“选择”单元格而不实际选择它们:它使用您选择的单元格周围的行进蚂蚁,而不是突出显示它们并更改Excel.Application.Selection
。我不知道通过VBA,Delphi等操纵Excel对象模型的方法。
任何提示,技巧,黑客,或者,如果我真的很幸运,指向DropE in RefEdit替换的指针将是非常受欢迎的。
答案 0 :(得分:1)
我在寻找RefEdit漏洞的变通方法时遇到了this RefEdit control replacement。当时第三方控制对我来说不是一个选择,但它可能会帮助你。
答案 1 :(得分:0)
您的问题不确定:您是否尝试将RefEdit导入Delphi?
您可以从RefEdit.dll将其作为ActiveX控件导入,然后在任何Delphi表单中删除TRefEdit控件。并且你有与VBA应用程序中相同的RefEdit。
或者它是你尝试过的,它不起作用,因为RefEdit需要一些VBA woodoo ......?