excel vba字典item如何可以有多个

excel vba字典item如何可以有多个,第1张

首先你要明白字典中key和item之间的关系。key就好比,一个人的身份z编号,而item就好比一些其它的附加信息。两者构成一组数组项。一个字典里可以储存很多数组项,任意一个字典里的数组项都能构建一个二维数据了。多个字典,可以通过它们彼此之间的key和item数据构建建议,从而形成一个三维或者更多维的数据。

字典与字典应该是不存在镶套关系的,它们都是具备独立储存空间的。当然你可以把某些数据同时向多个字典(空间)里添加(key和item)

对于一份简单的Word文档,基本的查找VBA可以像下面这样实现:

Dim hasFound ' 定义是否找到

Selection.WholeStory

With Selection.Find

.ClearFormatting

.MatchWholeWord = False

.MatchCase = False

hasFound = .Execute("要查找的文字")

End With

转化为VBScript代码也很容易,多个创建Word.Application并打开Word文件的过程。

下面定义FileFinder接口,当然VBS没有接口的概念,我们只是象征式的说明下:

Interface FileFinder

Function isTextExists(search, filename)

End Function

End Interface

只需要实现一个方法接口,那就是isTextExists,判断要搜索的文本是否存在于指定的文件中。下面给出关于Word查找的VBS脚本代码实现:

Class DocumentsFinder

Private vbaObject

Private Application

Private Sub Class_Initialize()

Set vbaObject = WSH.CreateObject("Word.Application")

vbaObject.Visible = False

End Sub

Private Sub Class_Terminate()

vbaObject.Visible = True

vbaObject.Quit

Set vbaObject = Nothing

End Sub

Private Function SearchStringInSingleDocument(str, doc)

Dim Selection

Set Selection = vbaObject.Selection

Selection.WholeStory

With Selection.Find

.ClearFormatting

.MatchWholeWord = False

.MatchCase = False

SearchStringInSingleDocument =.Execute(str)

End With

Set Selection = Nothing

End Function

Public Function isTextExists(str, filename)

On Error Resume Next

Dim doc

Set doc = vbaObject.Documents.Open(filename)

isTextExists = SearchStringInSingleDocument(str, doc)

doc.Close

Set doc = Nothing

If Err Then Err.Clear

End Function

End Class

其中调用了Documents.Open打开一个Word文档,然后再通过SearchStringInSingleDocument方法来搜索指定文档的文字,这个方法就是刚才讲解的VBA宏的实现。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11659252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存