4

MS Excel シートでのドラッグ アンド ドロップ イベントを認識する方法はありますか? 私が探しているのは、(デスクトップから) ファイルを MS Excel シートのセルにドラッグ アンド ドロップしたとき (そしてファイルの名前をセルに挿入したとき) に、イベントをリッスンできるようにすることです。

これは Excel マクロで実現できますか?

4

1 に答える 1

1

私自身、タスクを実行する方法がわかりませんでしたが、誰かがすでにこの問題に取り組もうとしているようです。私は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

于 2012-07-27T17:25:11.830 に答える