我正在制作一个电子表格,我将在其中跟踪我的部门3D打印的所有内容。我打印的每个零件都有3个文件夹,每个文件夹包含一个内容:一个CAD文件、一个STL文件和一个作业文件夹;所有这些文件夹都包含相同的零件名称,该名称被输入到电子表格中的单元格中,并用于查找所有文件/文件夹。我喜欢我的电子表格有超级链接,这样我就可以通过简单地导航到我的电子表格中的那个部分来轻松地打开这三个表格中的任何一个。
现在我有了下面这段代码,它从列D中获取打印部件的名称,并在我的STL文件夹中找到匹配的STL,然后将它超链接到U列。
For i = 4 To Range("D" & Rows.Count).End(xlUp).Row
'follow through all entries in column D
'--STL------------------------------------------------------------------------------------------------------
If (Len(Cells(i, 4)) > 1) Then
If (Len(Cells(i, 21)) = 0) Then
strFile = Dir$(path5w & Cells(i, 4) & "*.stl")
If (Len(strFile) > 1) Then
Cells(i, 21).Hyperlinks.Add Cells(i, 21), path5 & strFile, TextToDisplay:="STL"
Else
'No file was found that matches so do nothing
End If
Else
'Already hyperlinked, skip this cell
End If
Else
'Not a valid Name, do nothing
End If
Next
End Sub我只是简单地再次复制了这段代码,切换了路径,并切换了.STL作为我的CAD文件的扩展名,这对这两个文件都很有效,但我被作业文件夹卡住了……我不知道如何让我的代码查找文件夹而不是文件。
我试过使用FileSystemObjects,但我不完全理解如何使用它们,我能找到的只是一个如何列出文件夹中每个文件夹的示例,而不是如何实际搜索特定的文件夹。
我还查看了这个示例:VBA to find multiple files,但是,我再次遇到了不理解如何使用它来搜索文件夹,而不是列出所有文件夹的问题。
为了更清楚起见,我举了个例子。假设我处理Part123.stl,当我想要保存它时,它会创建一个文件夹ssys_Part123,我会将它保存在我的名为作业文件夹的文件夹中。现在,我希望我的程序检查显示为Part123的单元格D4,然后导航到作业文件夹,找到名为ssys_Part123的文件夹,并将该文件夹超链接到V4。
我对编码的掌握还不是很扎实,所以任何帮助都是非常感谢的。
发布于 2016-09-09 05:36:45
如果文件夹名始终是ssys_PartName,那么您应该能够连接字符串以链接到文件夹,而不是尝试查找文件夹名。
https://stackoverflow.com/questions/39400499
复制相似问题