vba文本到文本框中的宽度和高度都不合适

时间:2014-03-31 10:53:40

标签: vba textbox powerpoint-vba

我正在使用powerpoint中的vba创建一个文本框。为此,我使用以下代码:

Set survey = cSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 20, 40, 400, 20)
    survey.TextFrame.TextRange.text = Me.QuestionBox.text


        survey.TextFrame.TextRange.font.SIZE = sh.GroupItems(1).TextFrame.TextRange.font.SIZE
        survey.TextFrame.TextRange.font.name = sh.GroupItems(1).TextFrame.TextRange.font.name
        survey.width = sh.GroupItems(1).width
        survey.height = sh.GroupItems(1).height
        survey.top = sh.GroupItems(1).top
        survey.left = sh.GroupItems(1).left

你可以注意到我正在使用另一种形状的大小来使它与它的大小相同。这就是我使用(上图)和我创建(下图)的形状的样子:

enter image description here

我希望它出现在2行而不是1行中。您可以看到宽度和高度是正确的,但是当它到达形状的边界时,它不会转到第二条线,而是继续。如果您只是手动修改下面的形状并给出一点或多或少的宽度,它会自动将第二个单词放在第二行,但是当我用vba执行它时我无法实现。有什么东西可以让它自动发生吗?

1 个答案:

答案 0 :(得分:1)

向幻灯片添加新形状时,形状默认设置可能会阻止自动换行。

请尝试:

survey.TextFrame.WordWrap = msoTrue