在excel中创建文档列表

在excel中创建文档列表,excel,Excel,我正在管理一个项目,在这个项目中,最终产品必须附带大量的文档。 想想产品(船)中某些现成产品的手册 我认为在excel中有一个包含最终产品必须附带的文档的列表,而不是有问题的文档的(超链接)是很方便的。 所有这些文档编制人员(主要是PDF)都位于同一目录中 对如何实现这一目标有何建议 提前感谢听起来您需要在文件目录中循环,并在文件名旁边生成一个超链接 我建议使用fileDialog方法选择文件并填充集合或数组,然后将每一行导出到行工作表中 sub writeFilesToWorksheet()

我正在管理一个项目,在这个项目中,最终产品必须附带大量的文档。 想想产品(船)中某些现成产品的手册

我认为在excel中有一个包含最终产品必须附带的文档的列表,而不是有问题的文档的(超链接)是很方便的。 所有这些文档编制人员(主要是PDF)都位于同一目录中

对如何实现这一目标有何建议


提前感谢

听起来您需要在文件目录中循环,并在文件名旁边生成一个超链接

我建议使用fileDialog方法选择文件并填充集合或数组,然后将每一行导出到行工作表中

sub writeFilesToWorksheet()
Dim lngCount As Long
Dim ws       As worksheet 

'Set up our new sheet'
set ws = worksheets.add

'Add some headers'
ws.cells(1,1).value = "File Name"
ws.cells(1,2).value = "Hyperlink"

'Select files'
With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show

        'Add the selected files to the sheet'
        For lngCount = 1 To .SelectedItems.Count
            ws.cells (lngCount + 1, 1).value = .SelectedItems(lngCount)
            ws.cells (lngCount + 1, 2).formula = "=HYPERLINK(" & .SelectedItems(lngCount) & ")"
        Next lngCount
end with

ws.activate
set ws = Nothing

end sub
如果要为超链接使用friendly names参数,可以包括以下内容

Dim pos as integer
Dim strFriendlyName as string

pos = InStrRev(.selectedItems(lngCount), "\")
strFriendlyName = Right$(.selectedItems(lngCount), Len(.selectedItems(lngCount)) - pos)
并将for循环的第二部分更新为:

ws.cells (lngCount + 1, 2).formula = "=HYPERLINK(" & .SelectedItems(lngCount) & ", " & """" & strFriendlyName & """" & ")"

我有点困惑。。。为什么不按你的建议去做呢?你可以在Excel中创建超链接,你可以让这些超链接打开不同格式的文档-看起来你的想法会完全按照你的想法运作。。。缺少什么?@JohnBustos我认为wierts主要是想把一个文件名目录放到excel表格中,这在我看来是一个VBA问题。我正在寻找一种比手工创建列表更自动化的方法。我正在处理50本手册和其他文件。因此,如果能实现自动化,我们将不胜感激。这样做很好+1@MMerry我必须承认我对在excel中使用VB脚本还不熟悉。我知道他们的存在。我会给你一个机会try@MMerry我必须承认我对在excel中使用VB脚本还不熟悉。我知道他们的存在。出于某种原因,运行此命令会给我带来一个错误。我不知道这是否重要,但我正在Mac(OSX 10.9.3)上尝试,上面写着:对象的方法“范围”\u工作表”failed@wierts我修复了范围错误,但因为您在mac电脑上,所以无法将“Application.fileDialog”命令用作其windows特定命令。快速的google建议我需要向AppleScript传递一个字符串(有点像苹果,但不是全系统的VBA)。我会继续研究并发布一个针对mac的响应。幸运的是,我在家里使用mac,可以测试它!