【问题标题】:Drag file into Access, how to check the file details?将文件拖入Access,如何查看文件详情?
【发布时间】:2016-10-17 09:50:59
【问题描述】:

我喜欢将文件从 Windows 资源管理器或 Outlook 邮件中的附件拖到 MS-Access 中。

我已经发现我可以使用 Access BoundObjectFrame (https://msdn.microsoft.com/en-us/library/office/ff835725.aspx) 作为目标从 Windows 资源管理器拖放文件。

通过以下代码,我看到某些内容被放入该字段:

Private Sub OLE1_GotFocus()
    Debug.Print "OLE1_GotFocus()"
    Debug.Print " OLE1.Value: " & OLE1.Value
End Sub

但该值只是一些二进制信息。 我想知道被删除的文件名,或者我想读取被删除文件中的内容(即一个文本文件被删除)。

我查看了所有属性并在互联网上搜索,但没有找到解决方案。在我想做的事情之前,我猜想很多人都尝试过。

有什么想法吗?

【问题讨论】:

    标签: vba ms-access drag-and-drop


    【解决方案1】:

    我不认为 BoundObjectFrame 会得到你想要的。

    我建议改用ListView Control,一个ActiveX 控件。它具有内置的拖放支持。

    演示:

    在窗体上,插入一个Microsoft ListView Control, version 6.0 ActiveX 控件。
    将其命名为 lvwDD
    右键单击,ListViewCtrl-object,属性:设置OLEDropMode为1 - ccOLEDropManual

    插入这个event procedure

    Private Sub lvwDD_OLEDragDrop(Data As Object, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
    
        Dim i As Long
    
        ' https://msdn.microsoft.com/en-us/library/aa244109(v=vs.60).aspx
        Const vbCFFiles = 15
    
        If Data.GetFormat(vbCFFiles) Then
    
            ' https://msdn.microsoft.com/en-us/library/aa267471(v=vs.60).aspx
            For i = 1 To Data.Files.Count
                Debug.Print Data.Files(i)
            Next i
    
        Else
            Debug.Print "No file(s) dropped."
        End If
    
    End Sub
    

    在控件上拖放一个或多个文件,并在立即窗口 (Ctrl+G) 中查看输出。

    【讨论】:

    • 谢谢,你赢得了赏金。
    • 您知道如何将附件从 Outlook 电子邮件拖到此 ListView 控件中吗?我收到“没有文件被丢弃”的消息。如果我尝试使用“If Data.GetFormat(VbCFText)”,这也不起作用。
    • @Edgar:这是一个非常有趣的问题,但似乎非常复杂:Handling Drag and Drop of Email Attachments(链接自here)。 -- 或experts-exchange.com/questions/21786219/…
    • 这看起来不错。拖放文件后,如何查看它的原始目录?比如我想修改它,在原目录中用新名字保存,我怎么知道原目录是什么?
    • Data.Files(i) 包含完整路径。您可以获取目录,例如与Left(Data.Files(i), InStrRev(Data.Files(i), "\"))@PowerUser
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    相关资源
    最近更新 更多