Fixo,
这就是我试图从模块中运行的内容,请参阅红色注释,其中挂起。 我这样做对吗?
任何帮助赞赏,在你的方便下......
Mark
'---------------------------------------------------------------------------------------
' 模块 : Module1
' 日期时间 : 2/25/2011 07:43
' 作者 :
' 目的 :
'---------------------------------------------------------------------------------------
选项显式
子gtc_tab_rename()
Dim tabrename as String
Dim s As String
Dim i As Long
Dim cnt As Integer
Dim newstr as String
Dim num As Double
Dim regex As RegExp [程序在这里停止。编译错误未定义用户定义类型]
设置正则表达式 = 新的正则表达式
正则表达式。忽略大小写 = 假
正则表达式。Global = False
tabrename = InputBox$(“输入项目编号 : ”) '设置选项卡的项目编号。
如果 tabrename = “” 则结束 '如果用户从输入框中点击取消,则结束 '退出干净
'确认项目编号
Msg = “您已输入 ” & tabrename & “ 这是正确的吗?”定义消息。
Style = vbYesNo + vbInformation + vbDefaultButton1 ' Define buttons.
标题 = “gtc 确认项目编号” ' 定义标题。
Ctxt = 1000 ' 定义主题
响应 = MsgBox(Msg, Style, Title, Help, Ctxt)
如果 Response = vbYes 则 ' 用户选择 Yes。
其他:gtc_tab_rename“用户”选择了“否”。重新启动程序以进行另一个选择
End ' Leave The Program
End If
newstr = “ & tabrename & ”
regex.Pattern = “(acm-)(.*?)(-sht)(\d+)“
' Where:
' (acm-)- 常量部分
' (.*?) - 您需要替换为'newstr'
' (-sht)- 常量部分
' (\d+) - 任何数字
Dim olayout As AcadLayout
For Each olayout In ThisDrawing.Layouts
If Not olayout.ModelType then
ThisDrawing.ActiveLayout = olayout
olayout.名称 = 正则表达式。替换(olayout.Name, “$1” & newstr & “$3” & “$4”)
Debug.Print olayout.名称 '调试仅
结束,如果
下一
个集正则表达式 = Nothing
ThisDrawing.Set可变的“tilemode”, 1
End Sub