gpt4 book ai didi

vbscript - 使用VBS脚本检查字符串是否包含特定字符

转载 作者:行者123 更新时间:2023-12-03 06:32:24 25 4
gpt4 key购买 nike

我的脚本正在执行以下操作:

  1. 检索我选择的所有文件夹文件
  2. 按日期对它们进行分类(从最近的日期到较旧的日期)
  3. 在窗口中显示它们

这是我的 VBS 脚本(我检索它 here ):

    Option Explicit

Const PathMDB = "C:\Users\C8461789\Desktop\test_script"

MsgBox TriRepertoire,,"Enumération " & PathMDB
'---lister les fichiers du répertoire ---
Function TriRepertoire()
Dim fso, fichier, fileItem
Dim i, imax, z, valeur, cible, liste
Set fso = CreateObject("Scripting.FileSystemObject")

imax = 0
'début de l'énumération
For Each fichier In fso.GetFolder(PathMDB).Files
Set fileItem = fso.GetFile(fichier)

imax = imax + 1
ReDim Preserve Tableau(2, imax)
Tableau(1, imax) = Fichier.Name
Tableau(2, imax) = FileItem.DateLastModified

'---trier les fichiers par ordre décroissant de création ---
Do
Valeur = 0
For i = 1 To imax - 1
If InStr(Tableau(1,i), "average", vbTextCompare) > 0 Then
If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then
For z = 1 To 2
Cible = Tableau(z, i)
Tableau(z, i) = Tableau(z, i + 1)
Tableau(z, i + 1) = Cible
Next
Valeur = 1
End If
End If
Next
Loop While Valeur = 1
Set fileItem = nothing
Next

'Affichage du résultat classé
For i = 1 To imax
'If IsNull(Tableau) Then
liste = liste &vbTab& Tableau(1, i) &vbCr
'End If
Next
TriRepertoire = liste

Set fso = nothing
End Function

为了按名称过滤我检索到的文件,我想添加以下条件:

  • 对于每个文件名,如果包含“average”,则将该文件名添加到表格中
  • 否则,什么也不做

我尝试使用

If InStr(Tableau(1,i), "average", vbTextCompare) > 0 Then

但它向我显示了这个错误: enter image description here

最佳答案

您错误地使用了InStr。您的代码:

InStr(Tableau(1,i), "average", vbTextCompare)

InStr 的签名是:

InStr([start,]string1,string2[,compare])

但这里的问题是它有两个可选参数,其中一个在前面,有一个特殊的条件:

Optional. Specifies the starting position for each search. The search begins at the first character position (1) by default. This parameter is required if compare is specified

因此,由于您使用的是值为 vbTextCompare 的第四个参数,因此您还需要在第一个参数中指定起始点,即 1(第一个字符)在你的情况下。因此,更正后的代码为:

InStr(1, Tableau(1,i), "average", vbTextCompare)

您看到的错误消息基本上提示第一个参数应该是一个整数,但您正在向它提供一个字符串。

参见InStr docs .

关于vbscript - 使用VBS脚本检查字符串是否包含特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36864189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com