首页 > 解决方案 > 如何在 Powerpoint 幻灯片上找到形状的标签

问题描述

有人可以指出正确的方向,以找到 Powerpoint 用于每个形状、活动 x 控件等的标签……我已经研究过,直到我脸色发青。这就是我所说的:

我有一个非常简单的幻灯片,它在文本框中提出问题。在问题下方,我放置了一个活动的 x 控件文本框来获取用户的答案。我想要做的就是接受答案并将其附加到文本文件中。这是代码:

Public Sub WriteAnswerToFile(slideNum As Integer, shapeNum As String)

    Dim filePath As String
    Dim objFSO As FileSystemObject
    Dim objFile As Variant

    filePath = "C:\Batch Files\Powerpoint\ButtonPushes\AnswerFile.txt"

    Const ForAppending = 8

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("C:\Batch Files\Powerpoint\ButtonPushes\AnswerFile.txt", ForAppending)

    objFile.WriteLine     (Application.ActivePresentation.Slides(slideNum).Shapes(shapeNum).TextFrame.TextRange)

    objFile.Close

End Sub

从每张幻灯片中,我将幻灯片编号和形状指示符传递给子例程。shapeNum 是一个字符串,因为我发现它可以(没有比这更好的理由)让我将“TextBox 1”之类的东西作为参数传递。如果我知道 Shape(designator); 这一切都非常好。如形状(TextBox1)。对于我的生活,我无法弄清楚如何将用户输入的文本传递到活动的 x 控件文本框中。我不知道代号是什么。文本输入框的属性表称为 TextBox1。代码表将其称为 TextBox1。当我传递该参数时,它会将我提出的问题而不是答案打印到我的文本文件中。我不知道如何在我的代码中调用输入文本框。

截屏

我的代码打印“你是怎么知道我们的?” 当我的代码使用Call WriteAnswerToFile(2, "TextBox 1"). 我确定该文本框称为文本框 1;这是幻灯片上的第一个文本框。我只是不知道 Powerpoint 标签用户输入框。

如果有某种 Powerpoint 脚本或布局页面可以定义幻灯片中的所有形状,我肯定会指出这个方向。

标签: vbawindowspowerpoint

解决方案


碰巧我偶然发现了对“查找 Powerpoint 用于每个形状、活动 x 控件等的标签”问题的最简单答案。

我正在使用包含 Powerpoint 的 Office 16 (Office 365) 套件,并且不确定此功能是否适用于其他版本。

在 Powerpoint的Home选项卡上有一个Editing包含Select功能的子菜单。如图所示:

Powerpoint 主页选项卡

当您单击 时Select,会出现另一个显示Selection Pane功能的子菜单。如果单击它,选择窗格将显示在屏幕的右侧。在该窗格中,您将看到当前幻灯片上的所有对象以及 Powerpoint 为每个对象指定的名称。

PowerPoint 选择窗格

它在那里显示了我在调用 TextBox(Space)1 和 TextBox(NoSpace)1 时遇到的差异。

这对我来说更方便地获取我想在我的 VBS 脚本中调用的形状的名称。

我很感激; 然而,由于时间和挫折,@Diederik Sieburgh 让我得以继续我的项目,因为现在是 2 周后我偶然发现了这些信息。


推荐阅读