我正在使用两个文件夹。第一个用于输入所有输入文件,另一个是输出文件夹,用于保存重命名的文件。
请参阅下面的代码。我正在使用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
答案 0 :(得分:1)
如果将Long转换为字符串是唯一的问题,我认为您正在寻找CStr()函数: