公共子变更项目TextStyleFont()
'此堆栈存储要处理的目录。
Dim stackElec作为新堆栈(字符串)
Dim ResulteC作为新列表(字符串)
Dim frmDialog As New FRMFolderBrowser对话框
frmDialog。ShowDialog()
'添加初始目录
斯塔克莱克。推送(frmFolderBrowserDialog.locationOfProj)
尺寸i为整数=0
'继续处理每个堆叠目录
Do While(stackElec.Count>0)
'获取顶级目录字符串
Dim dirElec As String=stackElec。流行音乐
试试看
'添加所有即时文件路径
Resultech。AddRange(Directory.GetFiles(dirElec,“*.dwg”))
'循环遍历所有子目录并将其添加到堆栈。
Dim directoryName作为字符串
对于目录中的每个目录名。GetDirectory(目录)
斯塔克莱克。推送(directoryName)
下一个
捕获ex作为例外
结束尝试
回路
对于ResulteC中的每个drawingFile作为字符串
Dim strFileName As String=drawingFile
Dim acDocMgr As DocumentCollection=应用程序。文档管理器
Dim acDoc As Document=DocumentCollectionExtension。打开(acDocMgr、strFileName、False)
Dim acCurDb As Database=acDoc。数据库
“”获取当前文档和数据库,并启动事务
'将acDoc作为文档=应用程序。DocumentManager。MdiActiveDocument
应用程序。DocumentManager。MdiActiveDocument=acDoc
系统。窗户。形式。应用DoEvents()
“”锁定新文档
使用acLckDoc作为DocumentLock=acDoc。LockDocument()
使用tr作为事务=acCurDb。TransactionManager。StartTransaction()
Dim tsTbl As TextStyleTable=TryCast(tr.GetObject(acCurDb.TextStyleTableId,OpenMode.ForRead),TextStyleTable)
对于tsTbl中作为ObjectId的每个对象
Dim tsTblRec As TextStyleTableRecord=TryCast(tr.GetObject(objId,OpenMode.ForWrite),TextStyleTableRecord)
Dim textStyleName As String=tsTblRec。名称
“”获取当前字体设置
将acFont设置为Autodesk。AutoCAD。图形接口。字体描述符
acFont=tsTblRec。字体
“”使用“PlayBill”更新文本样式的字体
将acNewFont设置为Autodesk。AutoCAD。图形接口。字体描述符
acNewFont=新Autodesk。AutoCAD。图形接口。FontDescriptor(“Times New Roman”,False,False,acFont.CharacterSet,acFont.PitchAndFamily)
tsTblRec。Font=acNewFont
acDoc。编辑Regen()
系统。窗户。形式。应用DoEvents()
下一个
“”将更改保存到数据库并关闭事务
tr.提交()
关闭并保存(acDoc,acDoc.Name)
结束使用
结束使用
下一个
末端接头