在 Sheet 中将变量的输出值拆分为 2 行

Splitting a Variable's Output Value Into 2 Lines in Sheet

我正在研究 program/macro,它与 AutoCAD Mechanical 2020 交织在一起 VBA。根据用户表单输入,存储以下变量“cw”以输出到 sheet space 基于下面的代码行。它目前在一行中输出,我需要它在不实际删除变量“cw”的值的情况下输出到 2 个不同的行。

显示变量“cw”的代码行数:

它目前如何在 sheet 中输出 space:

我如何需要它在 sheet space:

中输出

Dim cwARR() as Variant
Dim cw2 as String
cw2=cw
cw2=replace(cw2," lbs","")
cwARR = Split(cw2, " + ")  
'cwARR(0) will equal 551,000 cwARR(1) 198,000 etc

然后您可以输出 cwARR() so ...."counterweight package:" & cwArr(0) & " lbs" 到您的文本转到下一个行空间(您必须告诉它开始的文本位置at) 为下一个 cwARR() 输出和 cw 被保留。这应该让你开始。

如评论中所述,您需要拆分配重文本并根据需要重新格式化。您还将在重新格式化的文本中使用 Format Codes 以正确对齐。目前,文字是这样的:

   cw = "198,400 + 551,200 + 1,222,333 lbs"

你需要以这样的文字结尾:

   nw = "1,222,333 lbs.\P551,200 lbs.\P198,400 lbs."

注意嵌入的格式代码。最后,这是实现这一目标的代码:

   cw = "198,400 + 551,200 + 1,222,333 lbs"
   
   nw = Replace(cw, " +", "")
   nw = Replace(nw, " lbs", "")
   nw = Split(nw, " ")
   nw = nw(2) & " lbs." & "\P" & nw(1) & " lbs." & "\P" & nw(0) & " lbs."
   
   Set text3 = ThisDrawing.PaperSpace.AddMText(textpoint3, 5, "Counterweight Package:")
   text3.AttachmentPoint = acAttachmentPointBottomRight
   Set text4 = ThisDrawing.PaperSpace.AddMText(textpoint4, 5, nw)
   text4.AttachmentPoint = acAttachmentPointBottomRight

此方法适用于任意数量的权重。