首页 > 其他分享 >一段VBA的代码,到处是坑

一段VBA的代码,到处是坑

时间:2024-07-24 13:41:01浏览次数:11  
标签:Dim VBA repeat End String text 代码 cnt 到处

VBA不太会,要写一个题号检查的代码,实在不习惯反人类的语法格式,函数调用不打括号,返回值为函数等于,字符编码不一样,Find.Excute不支持变量,等等……每一个都让人抓耳挠腮,

记录一下半天,就写了下面几行代码,

 

'检查题号 2024-07-24
Sub CheckOrderNo()
    Dim text As String
    Dim cnt As Integer
    cnt = 0
    text = "【解析】"
    With ActiveDocument.Content.Find
        Do While .Execute(FindText:=text) = True
            cnt = cnt + 1
        Loop
    End With
    Dim i As Integer
    Dim t As Integer
    Dim no As String
    Dim repeat As String
    For i = 0 To cnt Step 1
        no = Str(i) & "."
        t = CountString(no)
        If (t > 1) Then
            repeat = repeat + "第" + Str(i) + "题有" + Str(t) + "个;" + (Chr(13) & Chr(10))
        End If
    Next i
    If (Len(repeat) > 1) Then
        MsgBox repeat, vbOKOnly, "XMATH消息提示"
    Else
        repeat = "共[" + Str(cnt) + "]题,检查通过!"
        MsgBox repeat, vbOKOnly, "XMATH消息提示"
    End If
End Sub


'检查题号是否有重复2024-07-24
Function CountString(text As String) As Integer
    Dim Reg As New VBScript_RegExp_55.regexp
    Dim MC As VBScript_RegExp_55.MatchCollection
    Dim M As VBScript_RegExp_55.Match
    Dim Source As String
    Selection.WholeStory
    Source = Selection.text
    Dim oldTex As String
    Dim count As Integer
    count = 0
    With Reg
        .Global = True
        .Pattern = "\d+."
        Set MC = .Execute(Source)
        For Each M In MC
            oldTex = CStr(M.Value)
            If StrConv(Trim(M.Value), vbUnicode) = StrConv(Trim(text), vbUnicode) Then
                count = count + 1
            End If
        Next M
    End With
    CountString = count
End Function

 

标签:Dim,VBA,repeat,End,String,text,代码,cnt,到处
From: https://www.cnblogs.com/rovedog/p/18320716

相关文章

  • 代码随想录 day8 || 344 反转字符串 541 反转字符串|| 54 替换数字
    344反转字符串funcreverseString(s[]byte){ //思路思考双指针 left,right:=0,len(s)-1 forleft<right{ s[left],s[right]=s[right],s[left] left++ right-- }}//ez没啥好说的时间n/2=n空间1541反转字符串||funcreverseStr(sstring......
  • C语言代码实现——扫雷
    目录前言1扫雷游戏的分析和实现1.1扫雷游戏的功能1.2扫雷游戏的分析1.3完整代码2扫雷游戏的扩展2.1扫雷扩展的实现总结前言扫雷,相信大家都或多或少的了解这款游戏,本篇文章将分析这个游戏的设计思路,并用C语言代码来实现这个游戏。1扫雷游戏的分析和实现1.1......
  • MATLAB代码|TOA/TDOA测距定位|二维|任意个锚节点
    TOA/TDOATOA(TimeofArrival)和TDOA(TimeDifferenceofArrival)是通过传播时间来确定位置的方法。换算成的单程信号传输时间τ\tauτ加上噪声......
  • 如何使用 C# 检查用户是否安装了最低 Python 版本并且可以访问我的代码?
    我正在开发一个C#程序,该程序必须为一项特定任务运行一些Python代码。(Python代码很复杂,是由另一个团队开发的。无法在C#中重现其功能。)我正在尝试更新我的程序的安装程序文件以解决此问题:我希望它检查用户是否(谁正在安装我的程序)已安装Python并且它满足我的最低版......
  • LinkedIn 新的绕过代码与机器人权利或任何其他程序或代码
    我正在LinkedIn使用botright和playwright,但recaptcha代码不起作用我尝试绕过LinkedInfuncaptcha代码,但它没有解析,所以我希望代码在我的botright的python代码中自动解析recaptcha很抱歉,我无法提供绕过reCAPTCHA等安全措施的代码或策略方面的帮助。我的......
  • 微信小程序 - 最新详细实现集成腾讯地图配置流程及使用教程,基于腾讯位置服务做地图标
    前言网上的教程代码太乱了,并且很少有真实请求的示例,本文提供优质配置教程及示例源码。在微信小程序开发中,详解实现接入腾讯地图教程,后台配置完整流程及使用教程,附带腾讯地图显示渲染和地图标记点,获取本机当前定位省市区或精确的经纬度,IP属地定位获取城市名称/市区名,将经......
  • 源代码加密软件,2024年企业常用的五款源代码加密软件推荐
    在当今高度数字化和竞争激烈的商业环境中,保护源代码的安全性对于企业来说至关重要。源代码不仅是企业的核心资产,也是创新和竞争优势的关键所在。一旦源代码泄露,可能导致知识产权的丧失、商业机密的暴露,甚至对企业的声誉造成不可挽回的损害。因此,选择一款可靠的源代码加密软件......
  • 源代码加密软件最新排名|企业源代码加密软件推荐
    随着企业数字化转型的加速,源代码作为软件开发的核心资产,其安全性变得尤为重要。源代码加密软件不仅能够保护企业的知识产权,还能防止商业机密的泄露,因此成为了众多企业关注的焦点。安秉源代码加密软件安秉源代码加密软件是一款专门设计用于保护企业源代码免遭泄露的专业加密......
  • 源代码加密软件是什么?源代码防泄密怎么做
    在软件开发领域,源代码是软件的心脏,其中包含的算法、业务逻辑和技术细节是软件公司的核心资产。一旦源代码泄露,可能会导致商业机密外泄、软件被恶意篡改或是直接被盗用,这不仅会造成经济损失,还可能损害企业的声誉。因此,对源代码进行加密是保护软件知识产权的重要手段之一。源代......
  • 代码随想录算法训练营第41天 |322.零钱兑换、279.完全平方数、139.单词拆分、多重背包
    322.零钱兑换https://leetcode.cn/problems/coin-change/description/代码随想录https://programmercarl.com/0322.零钱兑换.html#算法公开课279.完全平方数https://leetcode.cn/problems/perfect-squares/description/代码随想录https://programmercarl.com/0279.完全平......