私はこれを達成する方法を考え出しました。私が知る限り、それはツリービューコントロールを使用してのみ行うことができます。ツールボックスを右クリックして追加して追加する必要があるかもしれません。そこには「追加のコントロール」やそのようなものがあります。コントロールとは別に、2つのものが必要です。あなたがドラッグ&ドロップを可能にするために、次のコード行が必要になりますUserForm_Initialze
サブで
:「TreeView1.OLEDropMode = ccOLEDropManual」:
UserForm_Initialize()
TreeView1.OLEDropMode = ccOLEDropManual
End Sub
その後、あなたは「プライベートサブTreeView1_OLEDragDrop」イベントが必要になります。私はスペースを節約するためにすべてのパラメータを省略しました。彼らは見つけるのに十分なはずです。そのサブクラスで単に文字列を宣言するだけで、おそらくstrPath
などのファイル名とパスを保持し、strPath = Data.Files(1)
と設定すると、ファイル名とユーザーがTreeViewコントロールにドラッグするファイルのパスが取得されます。これは、ユーザーが一度に1つのファイルだけをドラッグすることを前提としていますが、これを試してみると、複数のファイルをドラッグすることができるはずです。
Private Sub TreeView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
StrPath = Data.Files(1)
End Sub
編集:あなたも私もサンプルコードを追加しましたMicrosoft Windows Common Controls 6.0
への参照を追加する必要があります。
答えを見つけて、私自身の質問に答えました。 – MattB