@A1Duke 这些代码带Excel中的VBA运行后,粘贴没有效果,楼主不知道哪里有问题,麻烦帮忙看看 Public Sub CopyFiles(FileList As String) Dim hGblFileList As Long Dim pFileListDate As Long Dim HandleDropEffect As Long Dim hGblDropEffect As Long Dim pdwDropEEffect As Long Dim iLen As Long Dim FileNames As String Dim DF As dropFiles Dim tmp() As Byte FileNames = FileList & Chr(0) & Chr(0) tmp = StrConv(FileNames, vbFromUnicode) iLen = UBound(tmp) + 1 hGblFileList = GlobalAlloc(GMEM_ZEROINIT Or GMEM_MOVEABLE Or GMEM_SHARE, Len(DF) + iLen) pFileListDate = GlobalLock(hGblFileList) With DF .pFiles = Len(DF) .pt.x = 0 .pt.y = 0 .fNC = 0 .fWide = CLng(True) End With CopyMemory ByVal pFileListDate, DF, Len(DF) pFileListDate = pFileListDate + Len(DF) CopyMemory ByVal pFileListDate, tmp(0), iLen GlobalUnlock hGblFileList HandleDropEffect = RegisterClipboardFormat("Preferred DropEffect") hGblDropEffect = GlobalAlloc(GMEM_ZEROINIT Or GMEM_MOVEABLE Or GMEM_SHARE, 4) pdwDropEEffect = GlobalLock(hGblDropEffect) CopyMemory ByVal pdwDropEEffect, DROPEFFECT_COPY, 4 GlobalUnlock hGblDropEffect If OpenClipboard(0) Then EmptyClipboard SetClipboardData HandleDropEffect, hGblDropEffect SetClipboardData CF_HDROP, hGblFileList CloseClipboard End If GlobalFree hGblFileList GlobalFree hGblDropEffect End Sub