📌  相关文章
📜  如何使用 enter 和 spacein vba 输入形状中的文本(1)

📅  最后修改于: 2023-12-03 15:37:59.926000             🧑  作者: Mango

如何使用 Enter 和 Space 在 VBA 输入形状中的文本

在 VBA 中,可以通过添加文本框或形状来显示文本。而要往形状中添加文本,则需要使用 VBA 的字符串连接符(&)以及特殊字符(例如 Enter 和 Space)。

添加 Enter

若要在形状文本中添加分行,可以使用 vbNewLine 或 Chr(10) 函数。

例如:

Sub addEnter()
   Dim myShape As Shape
   Set myShape = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 50, 50, 200, 100)
   myShape.TextFrame.Characters.Text = "第一行" & vbNewLine & "第二行"
End Sub

其中,vbNewLine 是一个 VBA 常量,表示换行符。使用 & 运算符将“第一行”和“第二行”连接起来,并在它们之间插入一个换行符。

如果不想使用 vbNewLine 常量,也可以使用 Chr(10) 函数,该函数返回字符代码为 10 的字符,即换行符。

myShape.TextFrame.Characters.Text = "第一行" & Chr(10) & "第二行"

以上代码均创建了一个矩形形状,并在其中添加了两行文本:第一行和第二行,它们会自动换行。

添加 Space

如果需要在文本中插入空格,可以使用空格字符(Chr(32))。

例如:

Sub addSpace()
   Dim myShape As Shape
   Set myShape = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 50, 50, 200, 100)
   myShape.TextFrame.Characters.Text = "第一列" & Chr(32) & "第二列"
End Sub

以上代码将在矩形形状中添加了两列文本,它们之间有一个空格。

注意事项:
  • 要使用 "TextFrame.Characters.Text" 属性来访问形状内的文本。
  • 要确保在添加换行符或空格符时,它们与其他字符一起被包含在字符串中。例如,表示空格的 Chr(32) 字符应该与其他字符一起使用:"第一列" & Chr(32) & "第二列"。
  • 如果在添加换行符或空格符后,文本仍然没有按预期进行分行或分隔,可以尝试调整形状大小,以便文本可以适应形状。