mien 发表于 2022-7-6 12:27:55

使用VBA格式化文本样式

如何使用VBA设置文字样式。。现在我用这个代码设置文本。但这没用。。。。谢谢

ThisDrawing.SendCommand "-style" & vbCr & "HDP_HYDRO" & vbCr & "romans" & vbCr & "0" & vbCr & "0.75" & vbCr & "15" & vbCr & "N" & vbCr & "N" & vbCr & "N" & vbCr

 
我尝试为此文本设置文本样式

Set cllyr = ThisDrawing.Layers.Add("Level 1")
         cllyr.color = Val(cl1)
         Set point = ThisDrawing.ModelSpace.AddPoint(dblPt)
         point.Layer = "Level 1"
                  
         'convert sign value
         If optLand.Value = True Then
         strTemp = Round(arrText(2), acc)
         Set cllyr = ThisDrawing.Layers.Add("Level 1")
         cllyr.color = Val(cl1)
         Set actext = ThisDrawing.ModelSpace.AddText(Round(arrText(2), acc), dblPt, 2)
         actext.Alignment = acAlignmentCenter
         
         ElseIf optHydro.Value = True Then
         strTemp = Fix(arrText(2))
         Set cllyr = ThisDrawing.Layers.Add("Level 1")
         cllyr.color = Val(cl1)
         Set actext = ThisDrawing.ModelSpace.AddText(Fix(-(arrText(2))), dblPt, 2)
         actext.ObliqueAngle = 15
         actext.Alignment = acAlignmentRight
         End If
         
         actext.Rotation = 2 * pi
         actext.Layer = "Level 1"
         actext.TextAlignmentPoint = dblPt
         actext.Update
         
         If optHydro.Value = True Then
         strTemp = Right(arrText(2), 1)
         Set cllyr = ThisDrawing.Layers.Add("Level 1")
         cllyr.color = Val(cl1)
         Set actext = ThisDrawing.ModelSpace.AddText(Right(arrText(2), 1), dblPt, 1.5)
         actext.ObliqueAngle = 15
         actext.Alignment = acAlignmentMiddleLeft
         actext.Rotation = 2 * pi
         actext.Layer = "Level 1"
         actext.TextAlignmentPoint = dblPt
         actext.Update
         End If
页: [1]
查看完整版本: 使用VBA格式化文本样式