Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel的RefEdit控件的替代项,该控件可在VBA之外使用_Excel_Delphi - Fatal编程技术网

Excel的RefEdit控件的替代项,该控件可在VBA之外使用

Excel的RefEdit控件的替代项,该控件可在VBA之外使用,excel,delphi,Excel,Delphi,作为VBA的一部分提供的RefEdit控件有点缺陷,但当您希望人们指定一个或多个单元格区域(例如Excel.Range对象)时,它有助于在表单上显示 主要问题是您只能在VBA用户窗体上使用RefEdit控件,我的测试也证实了这一点。我正在使用Delphi制作Excel外接程序,并且正在寻找RefEdit控件的替代品 Excel.Application.InputBox Type:=8是选择单元格区域的一种可选方法,但当您需要人们在一个表单上选择多个单元格区域时,它的用户友好性不强。目前我拥有的最

作为VBA的一部分提供的RefEdit控件有点缺陷,但当您希望人们指定一个或多个单元格区域(例如Excel.Range对象)时,它有助于在表单上显示

主要问题是您只能在VBA用户窗体上使用RefEdit控件,我的测试也证实了这一点。我正在使用Delphi制作Excel外接程序,并且正在寻找RefEdit控件的替代品

Excel.Application.InputBox Type:=8是选择单元格区域的一种可选方法,但当您需要人们在一个表单上选择多个单元格区域时,它的用户友好性不强。目前我拥有的最好的替代方法是从我的Delphi插件中调用VBA表单,但这远远不够理想

因此,理想情况下,我可以用一个drop-in替代RefEdit,我可以在Delphi表单上使用它。如果有,很难找到我一直在努力搜索,而且我还没有找到一个替代Delphi、VB6或.NET的RefEdit

如果更换失败,我可能会尝试拼凑出自己的替代方案,但我怀疑如果不是不可能的话,也很难做出一个像RefEdit一样有效的替代方案。RefEdit允许您选择单元格而不实际选择它们:它使用移动蚂蚁围绕您选择的单元格,而不是高亮显示它们并更改Excel.Application.Selection。我不知道如何通过VBA、Delphi或其他方式操作Excel对象模型来实现这一点


任何提示、技巧、黑客,或者,如果我真的很幸运的话,指向RefEdit替换的指针都是非常受欢迎的。

我是在寻找解决RefEdit bug的方法时遇到的。第三方控件当时不是我的选择,但它可能会帮助您。

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

您可以从RefEdit.dll将其作为ActiveX控件导入,然后以任何Delphi形式删除TRefEdit控件。而且,您的RefEdit与VBA应用程序中的RefEdit完全相同


或者是因为RefEdit需要一些VBA woodoo…,所以您尝试了它,但它不起作用?

我没有在Delphi中尝试过它。。。我在VB6中尝试了它,但它不起作用,我提到的MS链接确实说明RefEdit控件仅在放置在Excel VBA项目的窗体上时才起作用。。。Excel、UserForms和控件本身之间需要进行一些特殊的交互。但我将尝试一下,以确定这一点——显然,如果这能起作用,这将是一个很好的解决方案,并将解释为什么缺少RefEdit选项!我已经试过了。您当然可以将TRefEdit控件添加到表单中,但我还没有找到将其绑定到Excel应用程序的方法。我想你需要做一些类似的事情来让表单上的控件做任何有用的事情。我试过了:它是有效的,但它是一个非常基本的实现,依赖于对Excel选择的更改。我真的希望有一个更像真正的RefEdit的东西。因此,我将保留这个问题,以防有人知道其他事情。