乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 71|回复: 4

[求助]帮我看一下哪里错了

[复制链接]

8

主题

24

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2007-1-1 07:44:00 | 显示全部楼层 |阅读模式
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这个函数的用法。
谢谢!
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2007-1-1 09:15:00 | 显示全部楼层
Debug.Print "有" & i&; "个图层需要修改名"
这句中,i和后面的&必须要有分隔,然后分号去掉。
另外,如果只是对普通字符串进行比较,只需要用=号来判断,并不需要用到StrComp来判断。
也就是可以写成:
If Left(objlayer.Name, 2)="图层" Then
回复

使用道具 举报

8

主题

24

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2007-1-1 18:26:00 | 显示全部楼层
照你的改完后,执行,怎末没打印出“有?个图层需要修改”?是不是应该出现个对话框,怎末没有啊?
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2007-1-1 22:02:00 | 显示全部楼层
这是VBA基础知识的问题。
Debug.Print是用于在调试窗口中显示内容。如果需要使用对话框显示,要使用Msgbox函数。
回复

使用道具 举报

8

主题

24

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2007-1-1 22:18:00 | 显示全部楼层
明白了,是在“视图”的“立即窗口”里,由于刚刚接触VBA,对它还很陌生,见笑了。
多谢MCCAD的热心帮助!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 05:31 , Processed in 0.945041 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表