VB.Net制作-历朝通俗演义

原先的回数,全是汉语数字,为此我先转换成了阿拉伯数字,遗憾的是阿拉伯数字100居然排在1和2之前!所以必须设置为3位数字才行!否则顺序是乱的。

以下是用VBA批量重命名的代码:

Dim FSO As New FileSystemObject
Dim fd As Folder, fl As File
Sub Test()
    On Error Resume Next
    For Each fd In FSO.GetFolder("E:Office_VBA历朝通俗演义").SubFolders
        For Each fl In fd.Files
            fl.Name = D2N(fl.Name)
            Debug.Print fl.Name
        Next fl
    Next fd
End Sub
Function C2N(Source As String) As String
    Const nine = "一二三四五六七八九"
    Dim temp As String
    Dim num As Integer
    If Source Like "自序*" Then
        temp = "第0回 " & Source
        C2N = temp
        Exit Function
    End If
    temp = Split(Source, "回")(0)
    temp = Split(temp, "第")(1)
    If InStr(temp, "百") > 0 Then
        num = 100
        temp = Right(temp, Len(temp) - 2)
    End If
    If InStr(temp, "十") = 1 Then
        num = num + 10
        temp = Right(temp, Len(temp) - 1)
    End If
    If InStr(temp, "十") > 1 Then
        num = num + 10 * InStr(nine, Left(temp, 1))
        temp = Right(temp, Len(temp) - 2)
    End If
    If temp <> "" Then
        num = num + InStr(nine, Left(temp, 1))
    End If
    C2N = "第" & num & "回" & Split(Source, "回")(1)
End Function
Function D2N(Source As String) As String
    Dim temp As String
    temp = Split(Source, "回")(0)
    temp = Split(temp, "第")(1)
    temp = Format(temp, "000")
    D2N = "第" & temp & "回" & Split(Source, "回")(1)
End Function

 

下载:

历朝通俗演义

下载后,必须解压缩,然后双击exe文件即可启动。

原文地址:https://www.cnblogs.com/ryueifu-VBA/p/9026663.html