使用VBA将信息输入到PowerPoint幻灯片的注释部分

3

我正在尝试查找如何编写VBA代码在幻灯片中输入文本框和输入文本的方法。我还在尝试查找将文本输入到PowerPoint幻灯片注释部分的VBA代码。

非常感谢您提供的帮助。我已经尝试寻找专门针对此问题的网站,但未能成功。

2个回答

6

将文本输入到PPT幻灯片中与输入到注释部分是差不多的。

您需要首先获取一个Slide对象引用,该引用代表您要添加的幻灯片;然后您可以向幻灯片的形状集合中添加一个文本框形状。

例如:

Sub AddTextBoxToSlide()

    Dim oDestSlide As PowerPoint.Slide
    Set oDestSlide = ActivePresentation.Slides(1)

    Dim slideWidth As Single
    Dim slideHeight As Single
    slideWidth = oDestSlide.Parent.PageSetup.SlideWidth
    slideHeight = oDestSlide.Parent.PageSetup.SlideHeight

    Dim oTextBox As PowerPoint.Shape
    Set oTextBox = oDestSlide.Shapes.AddTextbox( _
                    Orientation:=msoTextOrientationHorizontal, _
                    Left:=0, _
                    Top:=0, _
                    Width:=slideWidth, _
                    Height:=slideHeight / 12)

    oTextBox.TextFrame.TextRange.Text = "Shape text here"

End Sub

这段代码的作用是在活动演示文稿的第一张幻灯片顶部添加一个文本框形状。它的宽度与幻灯片相同,高度为幻灯片的1/12。Shapes.AddTextbox()的参数相当容易理解...
要添加到备注部分,只需使用幻灯片注释页上的NotesPage对象...因此,以上代码基本相同,除了:
    Set oTextBox = DestSlide.NotesPage.Shapes.AddTextbox(msoTextOrientat...

非常感谢。我已经寻找了很长时间一个非常快速和简洁的东西!如何使用文本框?更改大小、字体、下划线等?再次感谢Jon! - Justin
还有,我该如何调整这段代码以调整文本框的大小? - Justin
我刚刚尝试了这个解决方案,但是我的幻灯片中没有任何内容显示(我正在使用Windows 10中的Office 2016),您有任何想法为什么会出现这种情况吗? - pablete
1
@pablete 或许我的回答可以对笔记问题有所帮助。 - Shawn V. Wilson

1

这是一个老问题,但由于PowerPoint不能录制宏,人们将一直寻找像这样的问题,直到您可以。

我不需要在幻灯片上添加文本,但我尝试了在备注中添加文本。然而,在大纲视图中,我的备注部分没有显示任何内容。直到我去查看-->备注页,我才看到我添加的信息--在屏幕顶部

你看,当你把Set oTextBox = oDestSlide.Shapes更改为Set oTextBox = oDestSlide.NotesPage.Shapes时,你并没有向备注添加文本。你是在备注中添加了一个文本框。而且这个文本框只出现在备注页视图中(在屏幕顶部,直到你移动它)。

我们真正想做的是将文本添加到备注页上的占位符2(备注区域),就像这样:

 oDestSlide.NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.InsertAfter "Notes text here" 

1
作为预防措施,最好使用一个函数来测试幻灯片备注页上的每个形状,以查看它是否为1)占位符(即.Type 14),如果是,则2)如果其PlaceholderFormat.Type = 2(即正文文本),则返回该形状。.Placeholders(2)并不总是有效的。有人可能已经删除然后重新添加了占位符,这样索引就会失效。 - Steve Rindsberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接