VBA の一部として提供される RefEdit コントロールには少しバグがありますが、1 つまたは複数のセル範囲 (つまりExcel.Range
オブジェクト) を指定する必要がある場合にフォームを配置するのに適しています。
主な問題は、RefEdit コントロールを VBA UserForm でしか使用できないことです ( Microsoft はこれを述べており、私のテストでも確認しています)。Delphiを使用して Excel アドインを作成しており、RefEdit コントロールに代わるものを探しています。
Excel.Application.InputBox Type:=8
セルの範囲を選択する別の方法の 1 つですが、1 つのフォームで複数のセルの範囲を選択する必要がある場合は、あまりユーザー フレンドリーではありません。現時点で最良の代替手段は、Delphi アドインから VBA フォームを呼び出すことですが、それは理想とはほど遠いものです。
したがって、理想的には、RefEdit のドロップイン代替品 ( Delphi フォームで使用できるもの) を使用することができます。あるとしても、見つけるのは簡単ではありません (私はかなり一生懸命探しましたが、Delphi、VB6、または .NET のドロップイン RefEdit 代替品を見つけることができませんでした)。
ドロップイン置換に失敗した場合は、独自の代替案を組み合わせてみるかもしれませんが、RefEdit と同様に機能するものを作成することは、不可能ではないにしても難しいと思います. RefEdit を使用すると、セルを実際に選択せずに「選択」できます。選択したセルを強調表示してExcel.Application.Selection
. VBA や Delphi などを使って Excel オブジェクト モデルを操作する方法がわかりません。
ヒント、トリック、ハック、または本当に運が良ければ、RefEdit のドロップイン置換へのポインターを大歓迎します。