我正在使用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
你可以注意到我正在使用另一种形状的大小来使它与它的大小相同。这就是我使用(上图)和我创建(下图)的形状的样子:
我希望它出现在2行而不是1行中。您可以看到宽度和高度是正确的,但是当它到达形状的边界时,它不会转到第二条线,而是继续。如果您只是手动修改下面的形状并给出一点或多或少的宽度,它会自动将第二个单词放在第二行,但是当我用vba执行它时我无法实现。有什么东西可以让它自动发生吗?
答案 0 :(得分:1)
向幻灯片添加新形状时,形状默认设置可能会阻止自动换行。
请尝试:
survey.TextFrame.WordWrap = msoTrue