如何在字符串/ mtext中开始一个新行

时间:2017-03-29 02:06:45

标签: vba autocad

我试图让Leadertext下的文本显示在不同的行上。你如何在VBA中展示新的一线?所以它出来了

CB(Util)

E INV(Util)

  'Leader Text
    StartPoint(0) = points(6): StartPoint(1) = points(7): StartPoint(2) = points(8)
    LeaderTextWidth = 1
    LeaderText = ("CB " & Util & " E INV " & Util)
    Set LeaderAnnotation = ACAD.ActiveDocument.ModelSpace.AddMText(StartPoint, LeaderTextWidth, LeaderText)

1 个答案:

答案 0 :(得分:2)

有几种方法。 VBA.Constants标准库模块是您的朋友。 MSDN描述了所有这些内容。

vbNewLine 代表运行代码的平台上的新行

LeaderText = ("CB " & Util & vbNewLine & " E INV " & Util)

这通常是您理想的解决方案。但是,有时您的代码可以从Windows和Mac机器向具有Unix风格的新行的系统发送字符串,因此您需要更加小心或具体。这就是为什么存在其他常数的原因。

vbCrLf 生成一个包含ASCII字符10和13的Windows新行:

LeaderText = ("CB " & Util & vbCrLf & " E INV " & Util)

vbLf 是ASCII 10,换行vbLf相当于Chr(10)

vbCr 是ASCII 13,回车vbCr相当于Chr(13)

因此,这也产生完全相同的输出(假设Windows):

LeaderText = ("CB " & Util & vbCr & vbLf & " E INV " & Util)

或者

LeaderText = ("CB " & Util & Chr(10) & Chr(13) & " E INV " & Util)