自己研究了很久 始终弄不懂这个替换的结构。- Dir = "==NC=="
- Set fso = CreateObject("Scripting.FileSystemObject")
-
- For Each file in fso.GetFolder(Dir).Files
- Ext = fso.GetExtensionName(file)
- If Lcase(Ext) = "nc" or Lcase(Ext) = "txt" _
- or Lcase(Ext) = "ncd" or Lcase(Ext) = "pim" Then
- ReplaceStr fso.OpenTextFile(file,1).ReadAll
- End If
- Next
-
- Sub ReplaceStr(str)
- Set re = New RegExp
- re.Pattern = "==DK_T=="
- re.Global = True
- re.IgnoreCase = True
- If not re.Test(str) Then Exit Sub
- Do Until RegEx(a)
- a = InputBox("===输入G43T编号[1~999]===",file.Name,"1")
- If IsEmpty(a) Then Exit Sub
- Loop
- fso.OpenTextFile(file,2).Write re.Replace(str,"G43T" & a)
- End Sub
-
- Function RegEx(a)
- Set reg = New RegExp
- reg.Pattern = "^[1-9]\d{0,2}$"
- RegEx = reg.Test(a)
- End function
复制代码 以上代码处理是 查找字符串"==DK_T==" 替换为 "G43Txx" 且是逐个文件修改
现在麻烦再改改 改成以下形式
查找 查找字符串"==DK_T==" 和 "==DK_T2==" 找到后 "==DK_T==" 替换为"G43TXX" "==DK_T2==" 替换为M6HXXZ100.
输入框 如 输入 1 后 xxx.txt文本内包含"==DK_T==" 就替换为"G43T1" "==DK_T2==" 替换为M6H1Z100. 且输入框 数值1 自增+1
以此类推。
这样可以实现吗?
注:如当前目录有9个 txt文本 都包含以上要替换的字符串,处理就只跳出VB窗口9次 没一次替换中是直接查找两个字符串 然后替换成两个不同字符串,就是自定义输入框的数值的一样的。
谢谢。 |