一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - VB - 在VB中遍歷文件并用正則表達式完成復(fù)制及vb實現(xiàn)重命名、拷貝文件夾的方法

在VB中遍歷文件并用正則表達式完成復(fù)制及vb實現(xiàn)重命名、拷貝文件夾的方法

2021-10-16 14:51LFfootprint VB

這篇文章主要介紹了在VB中遍歷文件并用正則表達式完成復(fù)制及vb實現(xiàn)重命名、拷貝文件夾的方法,需要的朋友可以參考下

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

將"E:\my\匯報\成績"路徑下源文件中的“1項目”,“一項目”等文件復(fù)制到目標(biāo)文件下。以下為實現(xiàn)方式。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Private Sub Option1_Click()
Dim myStr As String
 
'通過在單元格中輸入項目序號,目前采用的InputBox方式指定的,也可通過此方式。二者取其一。
'myStr = Sheets(“Sheet1”).Range(“D21”).Text
 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '通過InputBox輸入項目序號Start
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 myStr = InputBox("請輸入項目序號,序號要為阿拉伯?dāng)?shù)字。格式一定要正確!格式如" & Chr(34) & "2項目" & Chr(34))
 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '通過InputBox輸入項目序號End
 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 Dim endNum As Integer 'MID函數(shù)截取結(jié)束位數(shù)
 endNum = InStrRev(myStr, "項")
 myStr = Mid(myStr, 1, endNum - 1)
 'MsgBox myStr
 Dim CChinesStr As String
 CChineseStr = CChinese(myStr) '將阿拉伯?dāng)?shù)字轉(zhuǎn)為漢字
 '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") '創(chuàng)建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表示不區(qū)分大小寫, False表示區(qū)分大小寫
   '.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) '執(zhí)行正則查找,返回所有匹配結(jié)果的集合,若未找到,則為空
   
   Set mMatches = .Execute(file) '執(zhí)行正則查找,返回所有匹配結(jié)果的集合,若未找到,則為空
   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 & "\目標(biāo)文件" & myStr '復(fù)制操作
   End If
   
  Next
  
  End With
  'MsgBox fileNameArray
 
  Set mRegExp = Nothing
  Set mMatches = Nothing
 
 Next
 Set fso = Nothing
 Set folder = Nothing
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '遍歷路徑下的文件End
 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 MsgBox "操作完成"
 
End Sub
'將阿拉伯?dāng)?shù)字轉(zhuǎn)為漢字
Private Function CChinese(StrEng As String) As String
'驗證數(shù)據(jù)
If Not IsNumeric(StrEng) Then
If Trim(StrEng) <> “” Then MsgBox “無效的數(shù)字”
CChinese = “”
Exit Function
End If
'定義變量
Dim intLen As Integer, intCounter As Integer
Dim strCh As String, strTempCh As String
Dim strSeqCh1 As String, strSeqCh2 As String
Dim strEng2Ch As String
'strEng2Ch = “零壹貳叁肆伍陸柒捌玖”
strEng2Ch = “零一二三四五六七八九十”
'strSeqCh1 = " 拾佰仟 拾佰仟 拾佰仟 拾佰仟"
strSeqCh1 = " 十百千 十百千 十百千 十百千"
strSeqCh2 = " 萬億兆"
'轉(zhuǎn)換為表示數(shù)值的字符串
StrEng = CStr(CDec(StrEng))
'記錄數(shù)字的長度
intLen = Len(StrEng)
'轉(zhuǎn)換為漢字
For intCounter = 1 To intLen
'返回數(shù)字對應(yīng)的漢字
strTempCh = Mid(strEng2Ch, Mid(StrEng, intCounter, 1) + 1, 1)
'若某位是零
If strTempCh = “零” And intLen <> 1 Then
'若后一個也是零,或零出現(xiàn)在倒數(shù)第1、5、9、13等位,則不顯示漢字“零”
If Mid(StrEng, intCounter + 1, 1) = “0” Or (intLen - intCounter + 1) Mod 4 = 1 Then strTempCh = “”
Else
strTempCh = strTempCh & Trim(Mid(strSeqCh1, intLen - intCounter + 1, 1))
End If
'對于出現(xiàn)在倒數(shù)第1、5、9、13等位的數(shù)字
If (intLen - intCounter + 1) Mod 4 = 1 Then
 
'添加位" 萬億兆"
strTempCh = strTempCh & Trim(Mid(strSeqCh2, (intLen - intCounter) \ 4 + 1, 1))
End If
'組成漢字表達式
strCh = strCh & Trim(strTempCh)
Next
CChinese = strCh
End Function

補充:下面看下用VB實現(xiàn)重命名、拷貝文件夾及文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub commandButton1_Click()
 
'聲明文件夾名和路徑
Dim FileName, Path As String, EmptySheet As String
'Path = “D:\上報”
Path = InputBox(“請輸入” & Chr(34) & “成績” & Chr(34) & “文件夾的路徑,格式如” & Chr(34) & “D:\成績” & Chr(34))
FileName = Path & “\上學(xué)期”
EmptySheet = Path & “\學(xué)期初始化”
'MsgBox FileName
If Dir(FileName, vbDirectory) <> “” Then
'MsgBox “文件夾存在”
'獲取系統(tǒng)當(dāng)前時間
'Dim dd As Date
'dd = Now
'MsgBox Format(dd, “yyyymm”)
Dim myTime As String
myTime = InputBox(“請輸入當(dāng)前時間,格式如” & Chr(34) & “201811” & Chr(34))
If myTime = “” Then
MsgBox “當(dāng)前時間不能為空!否則不能重命名當(dāng)期文件夾”
Else:
Name FileName As Path & “” & myTime
End If
End If
'判斷文件夾是否存在
If Dir(FileName, vbDirectory) = “” Then
'創(chuàng)建文件夾
MkDir (FileName)
'MsgBox (“創(chuàng)建完畢”)
Else: MsgBox (“文件夾已在”)
End If
'復(fù)制空表到當(dāng)期
Set Fso = CreateObject(“Scripting.FileSystemObject”)
'拷貝文件夾
Fso.copyfolder EmptySheet, FileName
'Fso.copyfile EmptySheet&“c:*.*”, “d:” '拷貝文件
'FileSystemObject.copyfolder EmptySheet, FileName, 1
MsgBox (“操作成功!”)
End Sub

總結(jié)

以上所述是小編給大家介紹的在VB中遍歷文件并用正則表達式完成復(fù)制及vb實現(xiàn)重命名、拷貝文件夾的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 67194最新网址 | 华人亚洲欧美精品国产 | videojapan日本孕交孕 | 欧美视频一区二区三区在线观看 | 女子监狱第二季在线观看免费完整版 | 日韩精品中文字幕视频一区 | 日韩一区二区中文字幕 | 色吧 | 亚洲偷窥图区色 | 青青草原手机在线视频 | 亚洲成年人免费网站 | 天天舔天天干天天操 | 校园纯肉H教室第一次 | 我的绝色岳每雯雯 | 亚洲精品国产精麻豆久久99 | 久久人妻少妇嫩草AV無碼 | 日本一区二区在线不卡 | 日韩精品中文字幕久久 | 成人xxxxxx| 国内老司机精品视频在线播出 | 2021精品国夜夜天天拍拍 | 国产va欧美va在线观看 | 美女黑人做受xxxxxⅹ | 91.prom在线观看国产 | 久久视频在线视频观看天天看视频 | 亚洲欧美日韩国产一区图片 | 日本老妇成熟 | 美女口述又粗又大感觉 | 白丝校花掀起短裙呻吟小说 | 日韩色在线观看 | 好男人资源免费播放在线观看 | 日本一区视频 | 男人的影院 | 丰满大乳欲妇三级k8 | 青青青久在线视频免费观看 | 午夜久久久久久网站 | 日本不卡1卡2卡三卡网站二百 | 加勒比伊人 | 国产国拍亚洲精品av | 色啪啪888.com | 无码中文字幕av免费放 |