ドラッグ&ドロップでファイルパスを取得
先日、使用したListViewコントロールには、一つ面白い使い方がある。
プロパティにあるOLEDropModeを
1-ccOLEDropManual
にすることで、ここにファイルをドロップできるようになるのだ。
これを利用すれば、ダイアログボックスを開いてファイルを選択するのではなく、ファイルをドラッグ&ドロップして処理させることも可能だ。
例えば、このようなユーザーフォームを準備する。
次いで、ListViewコントロールのOLEDragDropイベントを設定する。
今回は単純に、ドラッグ&ドロップしたファイルのフルパスを、イミディエイト
ウィンドウに表示させている。
Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim i As Long For i = 1 To Data.Files.Count Debug.Print Data.Files(i) Next End Sub
この「摘まんで放り込むだけ」という動作は、直感的な理解が容易であるため、
一度実演すれば大抵の人が理解してくれる。
ということで、個人的には結構お世話になっています。
参考まで。