0

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

请参阅下面的代码。我正在使用该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
4

1 回答 1

1

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

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

于 2013-01-03T19:32:35.847 回答