Excel - 是否可以实现拖放功能以将文件直接保存到文件夹中?

Excel - 是否可以实现拖放功能以将文件直接保存到文件夹中?

我正在开发一个要在 Excel 中创建的 EDMS 系统。有人能解释一下是否可以通过 Excel 将文件直接拖放到文件夹路径吗?我的项目经理可以从此功能中受益,而不必一直访问文件夹。

谨致问候,塞巴斯蒂安

答案1

Sub MoveFiles()

    Dim xFd As FileDialog
    Dim xTFile As String
    Dim xExtArr As Variant
    Dim xExt As Variant
    Dim xSPath As String
    Dim xDPath As String
    Dim xSFile As String
    Dim xCount As Long

    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    xFd.Title = "Please Select Original Folder:"

    If xFd.Show = -1 Then
        xSPath = xFd.SelectedItems(1)
    Else
        Exit Sub
    End If

    If Right(xSPath, 1) <> "\" Then xSPath = xSPath + "\"
    xFd.Title = "Please Select Destination folder:"

    If xFd.Show = -1 Then
        xDPath = xFd.SelectedItems(1)
    Else
        Exit Sub
    End If

    If Right(xDPath, 1) <> "\" Then xDPath = xDPath + "\"
    xExtArr = Array("*.xlsm*", "*.Docx")

    For Each xExt In xExtArr
        xTFile = Dir(xSPath & xExt)

        Do While xTFile <> ""
            xSFile = xSPath & xTFile
            FileCopy xSFile, xDPath & xTFile
            Kill xSFile
            xTFile = Dir
            xCount = xCount + 1
        Loop
    Next
    MsgBox "Total number of moved files is: " & xCount, vbInformation, "Move File(S)"
End Sub

怎么运行的:

  • 将此代码复制并粘贴为标准模块。
  • 运行宏。
  • 它打开资源管理器并提示您选择原始(源)文件夹。
  • 选择文件夹并按 OK。
  • 它再次提示您选择目标文件夹。
  • 按“确定”后,您很快就会收到一个消息框,提示您已复制了多少个文件。

笔记:

  • 此行是可编辑的Array("*.xlsm*", "*.Docx"),您可以 File extensions根据需要用其他内容替换。

相关内容