提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

如何列出文件夹中的所有文件名并在Excel中为它们创建超链接?

对于您的日常工作,您可能需要将多个文件名从文件夹导入工作表,并为每个文件创建超链接,以便快速轻松地打开文件。 也许,您可以复制和粘贴文件名并手动为它创建一个超链接,但是,如果文件夹中有数百个文件,这会浪费很多时间。 今天,我会谈谈一些快速而有趣的方法来处理这项工作。

列出文件夹中的所有文件名并使用VBA代码创建超链接

列出文件夹中的所有文件名并使用Kutools for Excel创建超链接


列出文件夹中的所有文件并一次为它们创建超链接:

您订购的 Kutools for Excel's 文件名列表 实用程序,您可以尽快将包含子文件夹的文件夹中的所有文件列入工作表。

doc列表文件

Kutools for Excel:比200方便的Excel加载项,可以在60天免费试用。 下载并免费试用现在!



要列出和创建文件夹中的文件的超链接,下面的VBA代码可以帮你一个忙。

1。 激活一个新的工作表来放置结果。

2。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications 窗口。

3。 点击 插页 > 模块,并将以下代码粘贴到 模块 窗口。

VBA:列出文件夹中的所有文件名并创建超链接

Sub Example1()
'Update 20150831
    Dim xFSO As Object 
    Dim xFolder As Object
    Dim xFile As Object
    Dim xFiDialog As FileDialog
    Dim xPath As String
    Dim I As Integer
    Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
    If xFiDialog.Show = -1 Then
        xPath = xFiDialog.SelectedItems(1)
    End If
    Set xFiDialog = Nothing
    If xPath = "" Then Exit Sub
    Set xFSO = CreateObject("Scripting.FileSystemObject")
    Set xFolder = xFSO.GetFolder(xPath)
    For Each xFile In xFolder.Files
        I = I + 1
        ActiveSheet.Hyperlinks.Add Cells(I, 1), xFile.Path, , , xFile.Name
    Next
End Sub

4。 然后按 F5 键运行此代码,然后选择要列出文件的文件夹 浏览 窗口,看截图:

doc列表创建超链接1

5。 指定文件夹后,单击 OK 按钮,并且特定文件夹中的所有文件都已列入带有超链接的活动工作表中,请参阅截图:

doc列表创建超链接2

注意:如果您的特定文件夹中有子文件夹,则不会列出子文件夹中的文件。


要列出文件夹及其子文件夹中的所有文件并为每个文件创建超链接, Kutools for Excel文件名列表 可能会帮你一个忙。 使用此功能,文件夹和子文件夹中的所有文件将一次列出一些属性,如文件名,文件大小,创建时间,包含文件夹等。

Kutools for Excel : 与超过300方便的Excel加载项,在60天免费试用没有限制.

如果你已经安装 Kutools for Excel请按以下步骤操作:

1。 点击 企业服务 > 导入/导出 > 文件名列表,看截图:

doc列表创建超链接3

2.文件名列表 对话框,请执行以下操作:

(1。)单击 doc列表创建超链接5 按钮选择要列出文件名的文件夹;

(2。)检查我在子目录中包含文件 如果你想列出子文件夹中的文件名;

(3。)指定要在其下找到并列出的文件类型 文件类型 部分;

(4。)选择要显示的文件大小单位;

(5。)检查 创建超链接 在对话框的左下角。

立即下载Kutools for Excel!

3。 然后点击 Ok 按钮,并且根据需要将文件夹和子文件夹中的所有文件列在新工作表中,并附带超链接,请参阅截图:

doc列表创建超链接6

点击了解关于文件名列表实用程序的更多详细信息...

立即下载并免费试用Kutools for Excel!


Kutools for Excel:比200方便的Excel加载项,可以在60天免费试用。 下载并免费试用现在!


相关文章:

如何将文件夹和子文件夹中的所有文件列入工作表?


Kutools for Excel - 最佳办公生产力工具提高80%的生产力

  • 重用: 快速插入 复杂的公式,图表 以及你以前用过的任何东西; 加密单元格 密码; 创建邮件列表 并发送电子邮件...
  • 超级方程式酒吧 (轻松编辑多行文字和公式); 阅读布局 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不丢失数据; 分裂细胞含量; 组合重复的行/列...防止重复的细胞; 比较范围...
  • 选择复制或唯一 行; 选择空行 (所有细胞都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择......
  • 精确复制 多个单元格而不更改公式参考; 自动创建参考 多张表; 插入项目符号,复选框等等......
  • 提取文本,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级过滤器 (将过滤方案保存并应用到其他工作表); 高级排序 按月/周/日,频率等; 特殊过滤器 用粗体,斜体......
  • 结合工作簿和工作表; 根据键列合并表; 将数据拆分为多个表格; 批量转换xls,xlsx和PDF...
  • 超过300强大的功能。 支持Office / Excel 2007-2019和365。 支持所有语言。 在您的企业或组织中轻松部署。 全功能60天免费试用。
kte tab 201905

Office选项卡为Office提供选项卡式界面,使您的工作更轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,Publisher,Access,Visio和Project。
  • 在同一窗口的新选项卡中打开并创建多个文档,而不是在新窗口中。
  • 通过50%提高您的工作效率,每天为您减少数百次鼠标点击!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ellie · 7 months ago
    How would I change this code to have it list folder names rather than file names? And how would I change it to check subfolders for files?
    • To post as a guest, your comment is unpublished.
      skyyang · 6 months ago
      Hi, Ellie,
      To list all folder and subfolder names from a directory, the below VBA code can help you, please try, hopt it can help you.

      Sub FolderNames()
      Application.ScreenUpdating = False
      Dim xPath As String
      Dim xWs As Worksheet
      Dim fso As Object, j As Long, folder1 As Object
      With Application.FileDialog(msoFileDialogFolderPicker)
      .Title = "Choose the folder"
      .Show
      End With
      On Error Resume Next
      xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
      Application.Workbooks.Add
      Set xWs = Application.ActiveSheet
      xWs.Cells(1, 1).Value = xPath
      xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set folder1 = fso.getFolder(xPath)
      getSubFolder folder1
      xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
      xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
      Application.ScreenUpdating = True
      End Sub
      Sub getSubFolder(ByRef prntfld As Object)
      Dim SubFolder As Object
      Dim subfld As Object
      Dim xRow As Long
      For Each SubFolder In prntfld.SubFolders
      xRow = Range("A1").End(xlDown).Row + 1
      Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
      Next SubFolder
      For Each subfld In prntfld.SubFolders
      getSubFolder subfld
      Next subfld
      End Sub
  • To post as a guest, your comment is unpublished.
    jms · 9 months ago
    "VBA: List all filenames in a folder and create hyperlinks" is great! It works perfectly! Thank you for posting! One question... Now that you told us how to add links from folder, is it possible to use those links to get information from say one or two different sheets in each of the files listed? They would be the same cells for each of the files we now have a list for. This would help create a comprehensive contents with active links to otherwise unintelligible file names.
  • To post as a guest, your comment is unpublished.
    alice · 1 years ago
    Great thanks although can not view the files in the selected directory as barry said, it creates hyperlinks for all files in that directory anyway.
  • To post as a guest, your comment is unpublished.
    Chaudhary Mubashir · 1 years ago
    Awesome ..thanks a lot. It really saved my time.
  • To post as a guest, your comment is unpublished.
    barry · 3 years ago
    Running the VBA code listed above, shows the selected directory is empty, when it is full of Excel files.