检查文件名是否包含字符串
Checking if filenames contain a string
在我的项目中,我在 excel sheet 的第一列中有一个产品列表,我会定期从网站下载产品图片,然后将它们存储在为每个项目命名不同的文件夹中.下载过程结束后,我删除了不需要的图像文件。
删除过程后,我想知道文件夹中每个产品还剩下多少张图片。
示例:
我的产品名称列表在第一列>>>
click for image
我的图片文件夹>>> click for image
我想要的是每个产品在文件夹中的图像数量 >>>
click for image
如果我使用 excel 公式在第二列中对应产品名称单元格的旁边写入每个产品的图像数量,我将能够轻松地看到任何产品缺少图像。之后,我将报告零图像的产品列表。
所有图片名称由"productname"和“_*”两部分组成,*为数字。由于产品名称与图片文件名称不同,图片数量栏的值必须是名称中包含产品名称的图片数量。
可不可以?我对 VBA.
有非常基本的了解
这是我尝试使用 @Miguel_Ryu
方法时得到的结果
我写的函数 >>> click here
我的文件夹 >>> click here
我得到的错误 >>> click here
模块 >>>click here
试试这个函数,它 returns 包含 strToFind
.
的文件数
你可以这样称呼它:
fileCount = loopThroughFilesCount("C:\yourPath\yourFiles\", "yourString")
Function loopThroughFilesCount(dirFolder As String, strToFind As String) As Double
Dim filePath As Variant
filePath = Dir(dirFolder)
While (filePath <> "")
If InStr(filePath, strToFind) > 0 Then
filesCount = filesCount + 1
End If
filePath = Dir
Wend
loopThroughFilesCount = filesCount
End Function
编辑:
把上面的运行当作一个宏。
Sub countFiles()
Set last = Range("A:A").Find("*", Cells(1, 1), searchdirection:=xlPrevious)
For n = 2 To last.Row
Cells(n, 2).Value = loopThroughFilesCount("C:\Users\yalinbah\Desktop\boyner\görseller2\Tekstil\", Cells(n, 1).Value)
Next
End Sub
Function loopThroughFilesCount(dirFolder As String, strToFind As String) As Double
Dim filePath As Variant
filePath = Dir(dirFolder)
While (filePath <> "")
If InStr(filePath, strToFind) > 0 Then
filesCount = filesCount + 1
End If
filePath = Dir
Wend
loopThroughFilesCount = filesCount
End Function
在我的项目中,我在 excel sheet 的第一列中有一个产品列表,我会定期从网站下载产品图片,然后将它们存储在为每个项目命名不同的文件夹中.下载过程结束后,我删除了不需要的图像文件。
删除过程后,我想知道文件夹中每个产品还剩下多少张图片。
示例:
我的产品名称列表在第一列>>> click for image
我的图片文件夹>>> click for image
我想要的是每个产品在文件夹中的图像数量 >>> click for image
如果我使用 excel 公式在第二列中对应产品名称单元格的旁边写入每个产品的图像数量,我将能够轻松地看到任何产品缺少图像。之后,我将报告零图像的产品列表。
所有图片名称由"productname"和“_*”两部分组成,*为数字。由于产品名称与图片文件名称不同,图片数量栏的值必须是名称中包含产品名称的图片数量。
可不可以?我对 VBA.
有非常基本的了解这是我尝试使用 @Miguel_Ryu
方法时得到的结果我写的函数 >>> click here
我的文件夹 >>> click here
我得到的错误 >>> click here
模块 >>>click here
试试这个函数,它 returns 包含 strToFind
.
你可以这样称呼它:
fileCount = loopThroughFilesCount("C:\yourPath\yourFiles\", "yourString")
Function loopThroughFilesCount(dirFolder As String, strToFind As String) As Double
Dim filePath As Variant
filePath = Dir(dirFolder)
While (filePath <> "")
If InStr(filePath, strToFind) > 0 Then
filesCount = filesCount + 1
End If
filePath = Dir
Wend
loopThroughFilesCount = filesCount
End Function
编辑: 把上面的运行当作一个宏。
Sub countFiles()
Set last = Range("A:A").Find("*", Cells(1, 1), searchdirection:=xlPrevious)
For n = 2 To last.Row
Cells(n, 2).Value = loopThroughFilesCount("C:\Users\yalinbah\Desktop\boyner\görseller2\Tekstil\", Cells(n, 1).Value)
Next
End Sub
Function loopThroughFilesCount(dirFolder As String, strToFind As String) As Double
Dim filePath As Variant
filePath = Dir(dirFolder)
While (filePath <> "")
If InStr(filePath, strToFind) > 0 Then
filesCount = filesCount + 1
End If
filePath = Dir
Wend
loopThroughFilesCount = filesCount
End Function