[求助]mccad大哥请进(如何在VBA中创建文字样式)
按照你的方法我已创建出了字体样式,但不知是哪没用对,写出后的字并没有按我的意愿显示,而是字较粗,也较宽,且“文字样式”对话框中的“应用“处于可点击状态,连“预览”框中的字也是粗宽型的当我点击”应用“后,字体才变为我想要的样式,然后再点击文字样式,一切也都正常了,根据这样,应该是我设了样式后没有运用,可没有运用怎么字体又是宋体呢?
Private Function SetTextStyle(TextStyleName As String, TTFName As String) As AcadTextStyle<BR> On Error Resume Next<BR> Set SetTextStyle = ThisDrawing.TextStyles.Add(TextStyleName)<BR> SetTextStyle.Height = 3.5<BR> SetTextStyle.Width = 0.7<BR> SetTextStyle.SetFont TTFName, False, False, 0, 0<BR>End Function
sub Test()
SetTextStyle "仿宋", "仿宋_GB2312"
Set objText = objBlock.AddText(strText,pnt4, 3.5)
objText.StyleName = "仿宋"
end sub
后来我又修改了点什么,新建文件运行,结果点“文字样式”后,出来第幅图,但这次连“应用”也点击不了了!请问是怎么回事啊? 加一语句看行不行:
ThisDrawing.Application.Update SetTextStyle "仿宋", "仿宋_GB2312"
Set objText = objBlock.AddText(strText,pnt4, 3.5)
objText.StyleName = "仿宋"
ThisDrawing.Application.Update
end sub
这样也不行啊,字还是没有变回来! 知道了,SetTextStyle.SetFont TTFName, False, False, 0, 0SetTextStyle.SetFont TTFName, False, False, 0, 0 这个方法中的charset参数应设为1,即DEFAULT_CHARSET,然后再设objtext.ScaleFactor = 0.7即可以达到目的。
谢谢各位了!
页:
[1]