[求助]帮我看一下哪里错了
Public Sub changeallname()Dim objlayer As AcadLayer
Dim i As Integer
For Each objlayer In ThisDrawing.Layers
If StrComp(Left$(objlayer.Name, 2), "图层") = 0 Then
i = i + 1
End If
Next objlayer
Debug.Print "有" & i&; "个图层需要修改名"
End Sub
刚学VBA,顺便给我讲讲strcomp这个函数的用法。
谢谢!
Debug.Print "有" & i&; "个图层需要修改名"
这句中,i和后面的&必须要有分隔,然后分号去掉。
另外,如果只是对普通字符串进行比较,只需要用=号来判断,并不需要用到StrComp来判断。
也就是可以写成:
If Left(objlayer.Name, 2)="图层" Then
照你的改完后,执行,怎末没打印出“有?个图层需要修改”?是不是应该出现个对话框,怎末没有啊? 这是VBA基础知识的问题。
Debug.Print是用于在调试窗口中显示内容。如果需要使用对话框显示,要使用Msgbox函数。 明白了,是在“视图”的“立即窗口”里,由于刚刚接触VBA,对它还很陌生,见笑了。
多谢MCCAD的热心帮助!
页:
[1]