如何使用vba按钮更改当前powerpoint幻灯片上的文本框?

问题描述 投票:0回答:1

我是vba的新手,需要一些帮助。我正在尝试为我正在进行的powerpoint演示创建一个模块。在演示文稿中,我的一些幻灯片包含两个文本框,用于显示两个不同团队的分数,以及两个按钮,用于为其中一个团队提供分数。该模块应该在按下相应按钮时更改文本框的文本以显示团队的新分数。在给出积分之后,演示将继续进行,直到下一张带有按钮和文本框的幻灯片,其中应显示当前分数。

我目前的代码有几个问题,但我会帮助两个人知道,我如何在特定幻灯片上引用文本框。我知道,如果幻灯片11是当前幻灯片,那么“name = ActivePresentation.SlideShowWindow.View.Slide.Name”会产生类似“name = "Slide11”的字符串,而且我也知道“Slide11.TextBoxTeam1.Text = "Hello World”将团队文本框中的文本设置为“Hello world”。但是“name.TextBoxTeam1.Text = "Hello World"”不会工作。我确定它只是语法,但我似乎无法弄明白。

在此先感谢您的帮助。

vba textbox powerpoint
1个回答
0
投票

如果我正在读你的代码,name是一个字符串变量,其值等于Slide11的名称。您无法通过字符串数据类型访问Slide11的属性,无论字符串的值是否为幻灯片的名称。如果Slide11.TextBoxTeam1.Text = "Hello World"工作,并且您想用引用该幻灯片的变量替换Slide11,那么您需要一个幻灯片对象变量。

Dim name As String
name = ActivePresentation.SlideShowWindow.View.Slide.name

Dim mySlide As Slide
Set mySlide = ActivePresentation.Slides(name)

mySlide.Shapes("TextBoxTeam1").TextFrame.TextRange.Text = "Hello World"

请注意,mySlide.TextBoxTeam1.Text = "Hello World"不适合我,而这是:mySlide.Shapes("TextBoxTeam1").TextFrame.TextRange.Text = "Hello World"所以我在代码中替换了那一行。

© www.soinside.com 2019 - 2024. All rights reserved.