目的
エクスプローラからファイルをドラッグアンドドロップする機能をアプリケーションに組み込みます。
ポイント
VBのオブジェクトには OLEDragDrop イベントが備えられています。サンプルコードはフォームのイベントを使用した例です。
サンプルコード
Option Explicit
Private Sub Form_Load()
' OLEDropMode を手動にする(OLE ドロップ イベントが発生させます)
Me.OLEDropMode = vbOLEDropManual
Me.AutoRedraw = True 'フォームにPrintするため
Print "エクスプローラからファイルをフォーム上にドロップしてください。"
End Sub
Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, _
Button As Integer, Shift As Integer, _
X As Single, Y As Single)
Dim i As Integer
' ドロップされたデータがファイルであるかを判断する
If Data.GetFormat(vbCFFiles) Then
Me.Cls 'フォームにPrintするので初期化する
' 複数のファイルがドロップされるかもしれないのでループ処理をする
For i = 1 To Data.Files.Count
'ドロップされたファイルをフォームにPrintする
Print Data.Files(i)
Next i
End If
End Sub