向布局选项卡添加更多文本
大家好,我有一个绘图模板,它有12个布局选项卡,每个选项卡都表示acm-sht1、acm-sht2等。问题是,当分配作业编号时,我需要重新标记选项卡,表示acm-10-xxx sht1、acm-10-xxxx等。有没有办法在vb(a)或Lisp中实现这一点?感谢您的帮助标记
尝试此代码Option Explicit
'===============================================================
'require reference to Microsoft VBScript Regular Expressions 5.5
'===============================================================
Sub ahha()
Dim s As String
Dim i As Long
Dim cnt As Integer
Dim newstr As String
Dim num As Double
Dim regex As RegExp
Set regex = New RegExp
regex.IgnoreCase = False
regex.Global = False
newstr = "Boo"
regex.Pattern = "(acm-)(.*?)(-sht)(\d+)"
' Where:
' (acm-)- constant part
' (.*?) -any charachters you need to replace with 'newstr'
' (-sht)- constant part
' (\d+) - any digits
Dim olayout As AcadLayout
For Each olayout In ThisDrawing.Layouts
If Not olayout.ModelType Then
ThisDrawing.ActiveLayout = olayout
olayout.Name = regex.Replace(olayout.Name, "$1" & newstr & "$3" & "$4")
Debug.Print olayout.Name 'debug only
End If
Next
Set regex = Nothing
ThisDrawing.SetVariable "tilemode", 1
End Sub
这是我试图从一个模块中运行的,请参阅红色注释挂起的位置 ;我做得对吗
感谢您的帮助,在您方便的时候---------------------------------------------------------------------------------------
&039;模块 ;:模块1;日期时间:2011年2月25日07:43;作者 ;:
&039;目的 ;:
&039---------------------------------------------------------------------------------------
Option ExplicitSub gtc\u tab\u rename()Dim s As StringDim i As LongDim newstr As StringDim num As Double[程序停止在此。编译错误用户定义的类型未定义]
设置正则表达式=新正则表达式。IgnoreCase=False。Global=False(输入项目编号:)  '设置选项卡的项目编号。如果tabrename="&引用;然后结束                   '如果用户从输入框点击cancel,则退出clean;确认项目编号;您已输入“&;选项卡重命名(&R)&引用;这是正确的吗&引用  ' 定义消息
Style=vbYesNo+vbInformation+vbDefaultButton1      ' 定义按钮
标题;gtc确认项目编号“               ' 定义标题
Ctxt=1000 ' 定义主题   
如果响应=vbYes,则 ' 用户选择是
   
其他:gtc\u tab\u重命名' 用户选择“否”。重新启动程序以进行其他选择;结束#039;如果newstr="&;选项卡重命名(&R)&引用
正则表达式。图案=“”;(acm-(**?)(-sht)(\d+“
&039;其中:
&039;(acm-)常数部分;(.*?) - ;任何需要替换为#039;newstr和039
&039;(-sht)-常数部分;(\d+)-任何数字将olayout作为此图形中每个OLAYUET的AcadLayout。布局,如果不是olayout。然后键入此图纸。ActiveLayout=olayout。Name=regex.Replace(olayout.Name,“$1”newstr“$3”和“$4”)
调试。打印olayout。姓名#039;如果下一步设置正则表达式为Nothing,则仅调试结束。设置变量;“tilemode”;,1末端接头 祝你玩得开心  ; 苏惠特!谢谢分享Matt!我确实修改了一些,我改变了Ucase T Lcase。。 苏惠特!谢谢分享Matt!我确实修改了一些,我更改了Ucase T Lcase 是SNL的IT人员吗?我喜欢那个短剧…走开! 添加对Microsoft VBScript正则表达式5.5的引用 添加对Microsoft VBScript Reguar Expressions 5.5的引用添加了引用,该程序不会挂起,但不会对选项卡执行任何操作。。。。
页:
[1]