精通VBA for Word的同学有空进来看一下,帮着解决一下问题。

随便聊聊 · 795 次浏览
臭冬瓜 创建于 2023-02-13 11:07

请教一下问题:在选区内(例如图b-p区间)使用VBS正则查找内容,查找到的内容第一个字符在整篇文档中的位置,以及查找到的内容在整篇文档中的起止位置。如果都是文字很好处理,难点在于文档中有形状和表格(表格甚至有嵌套)。

Sub RealPos()


    Dim oRegEx As Object, myMatches As Object, myMatch As Object
    Set oRegEx = CreateObject("VBSCRIPT.REGEXP")

    With oRegEx
        .Pattern = regex ' regex:要在选区内查找的内容
        .IgnoreCase = False
        .MultiLine = False
        .Global = True
        Set myMatches = .Execute(Selection.Range.Text) ' 在选区(Selection)内查找
    End With

    For Each myMatch In myMatches
        
        '如何获得用正则查找在选区内查找的内容的第一个字符在整个文档位置
        '以及查找内容在整个文档中的起始位置(rngstart=起始位置,rngEnd=结束位置)
        
        MsgBox ActiveDocument.Characters(pos) ' pos :选区内查找到内容的第一个字符在整个文档中的位置?
        
        MsgBox ActiveDocument.Range(Start:=rngstart, End:=rngEnd) ' rngStart :选区内查找的内容在整个文档中的起始位置
   
    Next

End Sub

 

PS:CL看到了,提个问题和建议

(1)帖子中好像不能上传附件,能增加吗?是怕出安全问题吗?

(2)能不能开个专题,研究讨论求助QUICKER之外的问题。我看到有很多各方面的高手都在QUICKER。


回复内容
CL 2023-02-13 13:10
#1

随便聊聊便是一个这样的专题吧,不过大概率还是和quicker有一点点关系,如果完全没有关系帖子夹杂在列表里比较多,可能会影响有关quicker问题的讨论。

目前大部分主要是图片需求,贴一些截图啥的,上传文件就没有做的。而且文件可能需要一些额外的管理功能比较麻烦。

湘喑 2023-02-13 21:49
#2

我给你推荐一个,抖音、西瓜、今日头条,或者贴吧,搜一闪流溢,绝对的word大佬

臭冬瓜 回复 湘喑 2023-02-13 22:00 :

谢谢

回复主贴