• VBA实现字符子串解析


           今天老板交代的任务比较单调,给了我一个xml文件的文件夹,一个里面写满了xxx.sc函数名的txt文件,让我查找它们之间除掉后缀名之后的互相匹配情况,统计到一个excel表格里。我看看了,没仔细想就觉得很简单就开始做了起来。
           首先要把他们分别读出来,xml的文件名,和txt里面的函数名,读成单独的元素,然后才方便进行比对,想了想实现,打开了visual studio开始做,很快就完成了,期间发现.net2003的时候,StringContains方法都没有的,本来想自己实现一个,后来耍了个小聪明,用它有的IndexOf的返回值判断代替了Contains,偷了回懒。
           等到忙好这些的时候,excel里出现了长短不一的两列,现在我要把这些xxx.xmlyyy.scxxxyyy分别放到对方的列里面查找,怎么办呢?用.net也可以实现,不过想到最近都在接触的vba,就打算尝试用vba自身的函数来实现,于是拿出同事借给我看的VBVBA翻了翻,结果没找到,后来硬着头皮去问一个师兄,师兄给我搜出来Instr的函数,我就在他的指导下完成了。
           代码本身是很简单的,如同各种语言的hello world一样,不过由于是我接触的第一个VBA编程的例子,觉得应该留下来,算是纪念一下吧。

    '用途就是将LITTLESTR放到Excel的另外一列里面的每一行去看是不是这一行的子串。
    Function SUBSTR(BIGSTR As Integer, LITTLESTR As StringAs String
        
    Dim I As Integer
        I 
    = 1
        
    While Sheets(1).Cells(I, BIGSTR) <> ""
        
    If InStr(1, Sheets(1).Cells(I, BIGSTR), LITTLESTR) <> 0 Then
            SUBSTR 
    = "FOUND"
            
    GoTo PEND
        
    End If
        I 
    = I + 1
        Wend
            SUBSTR 
    = "NOT FOUND"
    PEND:
    End Function

    Raymond Zhang
    If you want to discuss with me about any idea, please contact me at raymond.zhang@sap.com

  • 相关阅读:
    分享分享JavaScript100例-仅供参考
    为每个页面加上Session判断
    Javascript实现真实字符串剩余字数提示
    格式与文件扩展名指定的格式不一致
    谈谈Github Universe 2019
    合并两个有序链表的golang实现
    二叉搜索树的最近公共祖先的golang实现
    验证二叉搜索树的golang实现
    三数之和的golang实现
    有效的字母异位词的golang实现
  • 原文地址:https://www.cnblogs.com/rabbitzhang/p/703133.html
Copyright © 2020-2023  润新知