重命名输出文件夹中的文件

时间:2013-01-03 11:39:47

标签: vba

我正在使用两个文件夹。第一个用于输入所有输入文件,另一个是输出文件夹,用于保存重命名的文件。

请参阅下面的代码。我正在使用Str()函数来转换数值,但它不起作用,为什么我不知道。此外,我没有得到所需的输出。

Str(m)无效并显示类型不匹配错误。

Sub ChangeFilename()

IFILEPATH = InputBox("Copy INPUT folder PATH")
OFILEPATH = InputBox("Copy OUTPUT folder PATH")
Dim strfile As String
Dim filenum As String

strfile = Dir(IFILEPATH)
startFile = InputBox("Start File NAME")
endFile = InputBox("End File NAME")
Dim r As Long
r = InputBox("Input INCREAMENT valu")
Do While strfile <> ""
    If (strfile = startFile) Then
        Do While strfile <= endFile
            x = Left(strfile, Len(strfile) - 4)
            x = Right(x, Len(x) - 2)
            y = Val(x)
            If y > 0 Or y < 9 Then
                Dim m As Long
                m = y + r
                Dim k As String
                'MsgBox Str(m)
                k = Str(m)        'This is the area where I am facing problem i.e Str(m) not WORKING and shows type mismatching Error
                x = "00" & k
                Name IFILEPATH & strfile As OFILEPATH & "eq" & x & ".eps"
            ElseIf y >= 9 Or y < 99 Then
                m = y + r
                x = "0" & k
                Name IFILEPATH & strfile As OFILEPATH & "eq" & x & ".eps"
            Else
                'x = Str(Val(x + r))
                Name IFILEPATH & strfile As OFILEPATH & "eq" & x & ".eps"
            End If
        Loop
    End If
    strfile = Dir
Loop

End Sub

1 个答案:

答案 0 :(得分:1)

如果将Long转换为字符串是唯一的问题,我认为您正在寻找CStr()函数:

http://msdn.microsoft.com/en-us/library/s2dy91zy.aspx