如何将Excel上的项目符号格式化为Powerpoint VBA,以便子弹仅在法线图之前出现

时间:2017-01-13 14:57:20

标签: excel vba excel-vba powerpoint-vba

我正在编写VBA代码以启动并从Excel VBA创建Power Point演示文稿。

问题是,我在一些带有来自excel的文本的幻灯片中添加了一个文本框,我已将其配置为具有项目符号。但我的问题是代码将子弹设置在文本框的所有行中,即使在法线图之间有空白区域也是如此。如何将项目符号设置为仅在文本之前显示,而不是在空格中显示?

我使用的代码是:

Set pptSlide = pptPres.Slides.Add(10, ppLayoutCustom)
SlideTitle = "Noticias Relevantes"
pptSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle
pptSlide.Shapes.Title.TextFrame.TextRange.Font.Size = 22

Set pptTextbox = pptSlide.Shapes(1)

pptTextbox.TextFrame.TextRange.Text = ThisWorkbook.Sheets("PPT").Range("B143").Value
pptTextbox.Top = 83
pptTextbox.TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = ppAlignJustify

pd:ppt看起来像这样: ImagePPT

1 个答案:

答案 0 :(得分:0)

你所谓的空格实际上是段落。因此,当您对整个文本框架所有应用项目符号时,即使是没有任何文本的段落也会获得项目符号。

要解决此问题,您需要遍历TextRange中的段落并测试文本的长度。然后,您可以将项目符号应用于包含文本的段落。