作为VBA的一部分提供的RefEdit控件有点bug,但是当您希望人们指定一个或多个单元格范围(即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使您可以“选择”单元格而无需实际选择它们:它在所选单元格周围使用行进蚂蚁,而不是突出显示它们并更改Excel.Application.Selection
。我不知道通过VBA,Delphi或其他方式操纵Excel对象模型的方法。
任何提示,技巧,黑客,或者,如果我真的很幸运,很容易找到替换RefEdit的指针。
最佳答案
在寻找RefEdit的错误的解决方法时,我遇到了this RefEdit control replacement。当时第三方控制不是我的选择,但可能会帮助您。