我正在制作一个电子表格,我将跟踪我部门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,我将其保存在名为Job Folders的文件夹中。现在我希望我的程序检查单元格D4,它表示Part123,然后导航到作业文件夹,找到名为ssys_Part123的文件夹,并将该文件夹超链接到V4。
我仍然没有非常牢固地掌握编码,所以我们非常感谢任何帮助。
答案 0 :(得分:0)
如果文件夹名称始终是ssys_ [PartName],那么您应该能够将字符串汇总到链接到该文件夹而不是尝试查找文件夹名称。