vb.net如何实现找到指定字符串在word文档中出现的次数及所在位置?

时间:2023-02-05 21:41:10
vb.net如何实现找到指定字符串在word文档中出现的次数及所在位置?
我部分代码如下:
    Public Sub SearchCharInFile(ByVal strFilePath As String, ByVal strChars As String)
        Dim mWordapp As Word.Application
        Dim Selection As Word.Selection

        Dim strFileName As String

        mWordapp = CreateObject("Word.Application")
        With mWordapp.FileSearch
            .FileName = "*.doc"
            .LookIn = strFilePath
            .SearchSubFolders = True
            .Execute()
            For i As Integer = 1 To .FoundFiles.Count
                strFileName = .FoundFiles(i)
                mWordapp.Documents.Open(FileName:=strFileName, ConfirmConversions:=False, Readonly:=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="")
                Selection.HomeKey()
                Selection.WholeStory()
                Selection.Find.ClearFormatting()
                With Selection.Find
                    .Text = strChars
                    .Forward = True
                    .MatchCase = False
                    .Format = False
                    .MatchWholeWord = False
                    .MatchByte = False
                    .MatchAllWordForms = False
                    .MatchFuzzy = False
                    .MatchSoundsLike = False
                    .MatchWildcards = False
                End With
                Selection.Find.Execute()
            Next

        End With
End Sub

这样做的话,程序只能找到第一个位置的字符串,如何找到后续的字符串呢?并且我不知道怎样返回字符串所在的行。
望高手指点!

4 个解决方案

#1


ding

#2


zai ding

#3


用循环语句判断一下:
while(Selection.Find.Execute() = vsFindResultFound)

  '继续找

  '再次执行Selection.Find.Execute() ,以免进入死循环
  Selection.Find.Execute() 
end while

#4


这个我已经解决了。
现在的主要问题是不能确定找到的字符串在word文档中的哪一行啊。高手指点

#1


ding

#2


zai ding

#3


用循环语句判断一下:
while(Selection.Find.Execute() = vsFindResultFound)

  '继续找

  '再次执行Selection.Find.Execute() ,以免进入死循环
  Selection.Find.Execute() 
end while

#4


这个我已经解决了。
现在的主要问题是不能确定找到的字符串在word文档中的哪一行啊。高手指点