下面的代码找到字体" Arial",但我想在标题中找到Arial的所有字体(所以" Arial Rounded"," Arial Unicode& #34;等)。我应该可以使用外卡吗?我不知道它到底在哪里。有人可以帮我回复所有有" Arial"在他们身上?
Const FONTS = &H14&
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(FONTS)
Set objFolderItem = objFolder.Self
Set colItems = objFolder.Items
For Each objItem In colItems
If objItem = "Arial" Then
Wscript.Echo objItem.Name
End If
Next
答案 0 :(得分:1)
你几乎已经拥有它了。您只需要检查项目的名称是否包含(子)字符串" Arial":
For Each objItem in colItems
If InStr(LCase(objItem.Name), "arial") > 0 Then
WScript.Echo objItem.Name
End If
Next
名称的小写是为了使比较不区分大小写。
(有点笨拙)InStr
比较的替代方法是使用正则表达式测试项目名称:
Set re = New RegExp
re.Pattern = "arial"
re.IgnoreCase = True
For Each objItem in colItems
If re.Test(objItem.Name) Then
WScript.Echo objItem.Name
End If
Next