国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

在VB中遍歷文件并用正則表達式完成復制及vb實現重命名、拷貝文

2019-10-26 18:08:41
字體:
來源:轉載
供稿:網友

先看下在VB中遍歷文件并用正則表達式完成復制功能

將"E:/my/匯報/成績"路徑下源文件中的“1項目”,“一項目”等文件復制到目標文件下。以下為實現方式。

Private Sub Option1_Click()Dim myStr As String'通過在單元格中輸入項目序號,目前采用的InputBox方式指定的,也可通過此方式。二者取其一。'myStr = Sheets(“Sheet1”).Range(“D21”).Text ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '通過InputBox輸入項目序號Start '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' myStr = InputBox("請輸入項目序號,序號要為阿拉伯數字。格式一定要正確!格式如" & Chr(34) & "2項目" & Chr(34)) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '通過InputBox輸入項目序號End ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim endNum As Integer 'MID函數截取結束位數 endNum = InStrRev(myStr, "項") myStr = Mid(myStr, 1, endNum - 1) 'MsgBox myStr Dim CChinesStr As String CChineseStr = CChinese(myStr) '將阿拉伯數字轉為漢字 'MsgBox CChineseStr ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '遍歷路徑下的文件Start ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim fso As Object Dim folder As Object Dim subfolder As Object Dim file As Object Dim fileNameArray As String Dim basePath As String basePath = "E:/my/匯報/成績" Set fso = CreateObject("scripting.filesystemobject") '創建FSO對象 Set folder = fso.getfolder(basePath & "/源文件") For Each file In folder.Files '遍歷根文件夾下的文件 'fileNameArray = fileNameArray & file & "|" Dim mRegExp As Object '正則表達式對象 Dim mMatches As Object '匹配字符串集合對象 Dim mMatch As Object '匹配字符串 Set mRegExp = CreateObject("Vbscript.Regexp") With mRegExp .Global = True 'True表示匹配所有, False表示僅匹配第一個符合項 .IgnoreCase = True 'True表示不區分大小寫, False表示區分大小寫 '.Pattern = "([0-9])?[.]([0-9])+|([0-9])+" '匹配字符模式 '.Pattern = "((([0-9]+)?)|(([一二三四五六七八九十]+)?))項目(([一二三四五六七八九十]+)?)|([0-9])?" '匹配字符模式 '.Pattern = "(項目(二百三十四)+)|(((234)?|(二百三十四)?)項目(234)?)" '匹配字符模式 '.Pattern = "(((" & "+)?)|(([一二三四五六七八九十]+)?))項目(([一二三四五六七八九十]+)?)|([0-9])?" '匹配字符模式 .Pattern = "(項目(" & CChineseStr & ")+)|(((" & myStr & ")?|(" & CChineseStr & ")?)項目(" & myStr & ")?)" '匹配字符模式 'Set mMatches = .Execute(Sheets("上報").Range("D21").Text) '執行正則查找,返回所有匹配結果的集合,若未找到,則為空 Set mMatches = .Execute(file) '執行正則查找,返回所有匹配結果的集合,若未找到,則為空 For Each mMatch In mMatches 'SumValueInText = SumValueInText + CDbl(mMatch.Value) 'SumValueInText = SumValueInText & mMatch.Value If mMatch.Value <> "" Then 'fileNameArray = fileNameArray & mMatch.Value & "_" fso.copyfile basePath & "/源文件/" & mMatch.Value & ".*", basePath & "/目標文件" & myStr '復制操作 End If Next End With 'MsgBox fileNameArray Set mRegExp = Nothing Set mMatches = Nothing Next Set fso = Nothing Set folder = Nothing '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '遍歷路徑下的文件End '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' MsgBox "操作完成"End Sub'將阿拉伯數字轉為漢字Private Function CChinese(StrEng As String) As String'驗證數據If Not IsNumeric(StrEng) ThenIf Trim(StrEng) <> “” Then MsgBox “無效的數字”CChinese = “”Exit FunctionEnd If'定義變量Dim intLen As Integer, intCounter As IntegerDim strCh As String, strTempCh As StringDim strSeqCh1 As String, strSeqCh2 As StringDim strEng2Ch As String'strEng2Ch = “零壹貳叁肆伍陸柒捌玖”strEng2Ch = “零一二三四五六七八九十”'strSeqCh1 = " 拾佰仟 拾佰仟 拾佰仟 拾佰仟"strSeqCh1 = " 十百千 十百千 十百千 十百千"strSeqCh2 = " 萬億兆"'轉換為表示數值的字符串StrEng = CStr(CDec(StrEng))'記錄數字的長度intLen = Len(StrEng)'轉換為漢字For intCounter = 1 To intLen'返回數字對應的漢字strTempCh = Mid(strEng2Ch, Mid(StrEng, intCounter, 1) + 1, 1)'若某位是零If strTempCh = “零” And intLen <> 1 Then'若后一個也是零,或零出現在倒數第1、5、9、13等位,則不顯示漢字“零”If Mid(StrEng, intCounter + 1, 1) = “0” Or (intLen - intCounter + 1) Mod 4 = 1 Then strTempCh = “”ElsestrTempCh = strTempCh & Trim(Mid(strSeqCh1, intLen - intCounter + 1, 1))End If'對于出現在倒數第1、5、9、13等位的數字If (intLen - intCounter + 1) Mod 4 = 1 Then'添加位" 萬億兆"strTempCh = strTempCh & Trim(Mid(strSeqCh2, (intLen - intCounter) / 4 + 1, 1))End If'組成漢字表達式strCh = strCh & Trim(strTempCh)NextCChinese = strChEnd Function
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高平市| 河南省| 九台市| 射阳县| 普宁市| 昭觉县| 加查县| 景宁| 武清区| 遂溪县| 莲花县| 绥阳县| 观塘区| 平谷区| 安多县| 泽普县| 麻江县| 封开县| 天台县| 瓮安县| 中阳县| 崇仁县| 永昌县| 卓资县| 康定县| 绥阳县| 哈密市| 呼和浩特市| 安达市| 衡山县| 乐至县| 大关县| 岑巩县| 修文县| 上饶市| 娄底市| 刚察县| 乌拉特后旗| 光泽县| 永川市| 三江|