Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 混淆VBA Excel-换行符、变量名称_Regex_Vba_Excel - Fatal编程技术网

Regex 混淆VBA Excel-换行符、变量名称

Regex 混淆VBA Excel-换行符、变量名称,regex,vba,excel,Regex,Vba,Excel,我正在尝试为我的VBA项目构建自己的模糊处理外接程序 我从简单的任务开始: 删除空行 删除缩进 删除评论 我可以想出如何做这件事,也许不是以最好的方式,但我陷入了: 插入随机打断线_ 我想让这个工作为不同类型的定界符,现在我只与=信号。顺便说一下,当我的行中有多个分隔符时,我会遇到问题,例如:如果bla=abc或ble=acd。代码在我的行中导致不正确的拆分 Sub VBE_Break_The_Lines() Dim VBC As VBComponent Dim a, i, j, lCount

我正在尝试为我的VBA项目构建自己的模糊处理外接程序

我从简单的任务开始:

删除空行 删除缩进 删除评论 我可以想出如何做这件事,也许不是以最好的方式,但我陷入了:

插入随机打断线_ 我想让这个工作为不同类型的定界符,现在我只与=信号。顺便说一下,当我的行中有多个分隔符时,我会遇到问题,例如:如果bla=abc或ble=acd。代码在我的行中导致不正确的拆分

Sub VBE_Break_The_Lines()
Dim VBC As VBComponent
Dim a, i, j, lCount As Long
Dim str As String
Dim temp As Variant
lCount = 0
i = 1
Dim blnStringMode, blnLineContinue As Boolean
    For Each VBC In VBProjToClean.VBComponents
        blnStringMode = False
        i = 1
        With VBC.CodeModule
            Do Until i > .CountOfLines
                If Not .ProcOfLine(i, vbext_pk_Proc) = "VBE_Remove_Comments" Then
                    str = .Lines(i, 1)
                End If

                If InStr(1, str, " = ", vbTextCompare) > 0 Then
                    temp = Split(str, " = ")
                    .InsertLines i, ""
                    .ReplaceLine i, temp(0) & " _"
                    .InsertLines i + 1, "= " & temp(1)
                    .DeleteLines i + 2
                    lCount = lCount + 1
                    'a = InStr(1, str, "=", vbTextCompare)
                    i = i + 1
                End If
            i = i + 1
            Loop
        End With
    Next
MsgBox lCount & "  LINES BREAKED ( = )", , strFileToClean

End Sub
我的下一步将是更改过程/变量名,但不确定正则表达式是否是最好的方法,我只是读了很多,但还不确定

希望你们能给我一个方法来遵循

为什么不从开源代码开始,并从开源代码开始进行新的构建,而不是重新发明轮子


您需要将代码中的所有文件扩展名从.xLs转换为.xLSM,将iBasTest.xLS工作簿保存为宏启用工作簿,并将AdIn保存为.xLAM,不.xLA来进行此工作,但即使代码为9岁,它仍在Excel 2013中工作。

< P>如果您进入VBA混淆,您可能想试用VBASH www.ayedeal.com/VBASH。这是非常直接和强大的

这是一个学习模糊处理的练习,还是您正在尝试保护VBA?这是一个练习,但我也在尝试保护我的VBA。我的vba代码不是任何商业代码,我与同事分享了很多宏。上次他们打破我的vba pw我知道这很容易,我也明白vba中的混淆不是最好的安全机制,但我相信它会阻止很多ppl。基因,只有temp是变异的,但我不明白你的评论对这个问题有什么帮助。你的问题是什么?