将文件夹链接到Excel工作表

时间:2013-06-15 16:36:30

标签: excel directory

我是一位狂热的电影收藏家,拥有1000部电影。

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

现在我想要一个带有工作表的excel文件,这些工作表将显示每个文件夹中的电影列表。此外,我希望excel能够自行更新,每当我将电影放入“Movies”文件夹时,excel表格应该显示该文件/文件夹名称,并且每当我将其移动到“Watched Movies”文件夹时也是如此。

我相信这对你们中的一些人来说是件小事。

感谢任何帮助。 谢谢, 最好, J.V

1 个答案:

答案 0 :(得分:2)

好的,你可以使用VBA宏,你真正想要的并不是那么难,但需要一些编程知识。

第1步
如果您使用的是2010 here,那么您必须在Excel上添加开发人员功能区。

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

第3步
•在Visual Basic选择工具 - 下拉菜单中的引用中 •将显示可用参考的列表框 •勾选“Microsoft Scripting Runtime”旁边的复选框 •scrrun.dll文件的全名和路径将显示在列表框下方 •单击“确定”按钮

第4步

选择ThisWorkbook并粘贴以下代码

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的宏,这将更新包含所有文件的工作簿。

看起来应该是这样的: enter image description here

让我知道它是否适合你!