• 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

  • 相关阅读:
    python--DenyHttp项目(1)--调用cmd控制台命令os.system()
    python--DenyHttp项目(1)--GUI:tkinter☞ module 'tkinter' has no attribute 'messagebox'
    python--DenyHttp项目(1)--socket编程:服务器端进阶版socketServer
    python--DenyHttp项目(1)--socket编程:客户端与服务器端
    平台后台编辑功能实现
    java中的map
    java 重写(override)与 重载(overload)
    java继承 extends
    java泛型
    java中Map和List的使用
  • 原文地址:https://www.cnblogs.com/rabbitzhang/p/703133.html
Copyright © 2020-2023  润新知