将文件夹链接到excel工作表

将文件夹链接到excel工作表,excel,directory,Excel,Directory,我是一个狂热的电影收藏家,收藏了1000部电影 我通常做的是,我有一个记事本,上面有电影下载和观看的列表。 我将所有下载的电影保存在一个名为“movies”的文件夹中,一旦我观看了任何电影,我会将其移动到另一个名为“Wated movies”的文件夹中 现在,我想要一个excel文件,其中的工作表将显示每个文件夹中的电影列表。此外,我希望excel能够自行更新,无论何时我将电影放入“Movies”文件夹,excel工作表都应该显示该文件/文件夹的名称,同样,无论何时我将其移动到“Watched

我是一个狂热的电影收藏家,收藏了1000部电影

我通常做的是,我有一个记事本,上面有电影下载和观看的列表。 我将所有下载的电影保存在一个名为“movies”的文件夹中,一旦我观看了任何电影,我会将其移动到另一个名为“Wated movies”的文件夹中

现在,我想要一个excel文件,其中的工作表将显示每个文件夹中的电影列表。此外,我希望excel能够自行更新,无论何时我将电影放入“Movies”文件夹,excel工作表都应该显示该文件/文件夹的名称,同样,无论何时我将其移动到“Watched Movies”文件夹,excel工作表都应该显示该文件/文件夹的名称

我相信这对你们中的一些人来说是小菜一碟

感谢您的帮助。 非常感谢。 最好的,
J.V

好的,要做到这一点,您需要使用VBA宏,您实际寻找的不是那么难,而是需要一点编程知识

步骤1
如果使用的是2010,则必须在excel上添加开发者功能区

步骤2
在“开发人员”选项卡上,单击
Visual Basic
,它将打开VB界面,我将为您提供脚本,但您需要添加“Microsoft脚本运行时”参考

步骤3
•在Visual Basic上,从下拉菜单中选择工具-参考
•将显示可用参考的列表框
•勾选“Microsoft脚本运行时”旁边的复选框
•scrrun.dll文件的全名和路径将显示在列表框下方
•点击OK按钮

步骤4

选择此工作簿并粘贴以下代码

Sub ViewFiles()
    theRow = 3
    Call ShowFiles(Range("A1"), True)
End Sub

Sub ShowFiles(path, subfolders)
    Set obj = New Scripting.FileSystemObject
    Set Source = obj.GetFolder(path)
    On Error Resume Next
    For Each file In Source.Files
       theCol = 2
       Cells(theRow, theCol).Value = file.path
       theCol = theCol + 1
       Cells(theRow, theCol).Value = file.Name
       theCol = theCol + 1
       Cells(theRow, theCol).Value = file.Size
       theCol = theCol + 1
        theRow = theRow + 1
    Next
    If subfolders Then
    For Each subFolder In Source.subfolders
        Call ShowFiles(subFolder.path, True)
    Next
   End If
End Sub
步骤5
单元格A1上粘贴要查看的路径,然后按ALT+F8并执行名为
ViewFiles
的宏,这将使用所有文件更新工作簿

它应该是这样的:


让我知道它是否对你有用

你试过什么吗?如果不搜索
Dir函数(类似于),如果遇到任何问题,您可以返回此处…您是否尝试了我的新代码?“它有用吗?”isJustMe有一个很好的答案,看起来它对你有用。将其标记为已接受的答案将有助于其他人。试试看!您好,当然可以试一试,但上述步骤在Excel2007上也一样吗?因为这是我使用的版本。嗨,它在Excel2007上也能工作。非常感谢你。同时,我应该使用什么代码来显示文件夹名称?上面的代码显示了文件名,但我在同一个文件夹中有文件夹和文件,必须列出。再次感谢您的努力和帮助。干杯没问题:),请参阅更新的代码,它将显示子文件夹上的文件。如果你发现这个答案是有用的,考虑一下投票和接受这个答案,所以它对其他用户仍然有用: