MS Excel シートでのドラッグ アンド ドロップ イベントを認識する方法はありますか? 私が探しているのは、(デスクトップから) ファイルを MS Excel シートのセルにドラッグ アンド ドロップしたとき (そしてファイルの名前をセルに挿入したとき) に、イベントをリッスンできるようにすることです。
これは Excel マクロで実現できますか?
MS Excel シートでのドラッグ アンド ドロップ イベントを認識する方法はありますか? 私が探しているのは、(デスクトップから) ファイルを MS Excel シートのセルにドラッグ アンド ドロップしたとき (そしてファイルの名前をセルに挿入したとき) に、イベントをリッスンできるようにすることです。
これは Excel マクロで実現できますか?
私自身、タスクを実行する方法がわかりませんでしたが、誰かがすでにこの問題に取り組もうとしているようです。私はvbadud.blogspotからこのコードを引き出しました:
' Place file on textbox to display filename.
Private Sub TextBox1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
' Declare variable(s).
Dim eventvar1 As Integer '* Files Counter
' If an error occurs, go to the Error Handler.
On Error GoTo Error_Handle1
'Drag N' Drop Event Handler
If Data.GetFormat(vbCFFiles) = True Then
eventvar1 = Data.Files.Count
If eventvar1 = 1 Then
If InStr(1, LCase$(Data.Files(eventvar1)), ".xls") Then
txtExcel.Text = Data.Files(eventvar1)
End If
End If
End If
' Error Handler
Error_Handle1:
If Err <> 0 Then
Debug.Assert Err = 0
Err.Clear
End If
End Sub
ファイルがテキストボックスに入れられると、コードはファイルの名前を投稿します。メソッド、関数、または別のサブルーチンを使用して、テキストボックスに配置されたテキストを利用できます。
たとえば、テキスト ボックスからセルへのテキストのコピーに関するSO 記事を調べると、次のコードを使用して Excel シートの範囲にテキストを入力できます。
Range("A2").End(xlDown).Offset(1, 0).Value = TextBox1.Text
そこから、サブルーチンを別のマクロに結び付けて、自動化の 1 つの形式または別の形式にするか、適切と思われるようにドラッグ アンド ドロップするか、または自分にとって意味のあることを何でも行います。
それが役立つかどうか教えてください。
~JOL