有人能为我指出正确的方向,以便找到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),那么这一切都很棒。如Shape(TextBox1)中一样。为了我的一生,我无法弄清楚如何将用户输入的文本传递到活动的x控件文本框中。我不知道这个代号是什么。文本输入框的属性表将其称为TextBox1。代码表将其称为TextBox1。当我传递该参数时,它会将我问的问题而不是答案打印到我的文本文件中。我不知道如何在代码中调用输入文本框。
我的代码显示“您如何得知我们的?”当我的代码以Call WriteAnswerToFile(2, "TextBox 1")
运行时,我的文本文件中会显示该文件。我确定该文本框称为文本框1;这是幻灯片上的第一个文本框。我只是不知道Powerpoint为用户输入框加上了什么标签。
如果有某种Powerpoint脚本或布局页面将定义Slidewhow中的所有形状,我肯定会指出这一方向。
答案 0 :(得分:0)
由于这不是正常形状,您只需要引用对象的表单部分即可。
objFile.WriteLine (Application.ActivePresentation.Slides(slideNum).Shapes(shapeNum).OLEFormat.Object.Text)
从您的评论中澄清。我认为您有两个“文本框1”。一个是“ TextBox 1”(注意空格),它是普通的文本框,而ActiveX控件是“ TextBox1”(没有空格)。
如果我创建一个新的空白幻灯片,然后先添加一个普通的文本框,然后添加一个ActiveX文本框,然后运行以下代码:
For Each shp In Slide2.Shapes
Debug.Print shp.Name
Next shp
立即窗口将显示以下内容:
TextBox 1
TextBox1
答案 1 :(得分:0)
碰巧我偶然发现了一个最简单的答案,即“找到Powerpoint用于每种形状,活动x控件等的标签。”
我正在使用包含Powerpoint的Office 16(Office 365)套件,并且不确定此功能是否可用于其他版本。
在Powerpoint的Home
选项卡上,有一个Editing
子菜单,其中包含一个Select
函数。如图所示:
当您单击Select
时,会出现另一个子菜单,其中显示了Selection Pane
功能。如果单击它,则选择窗格将显示在屏幕的右侧。在该窗格中,您将看到当前幻灯片上的所有对象以及Powerpoint为每个对象赋予的名称。
它显示那里,我在调用TextBox(Space)1和TextBox(NoSpace)1时存在差异。
这对我来说更方便,因为它可以在VBS脚本中获取要调用的形状的名称。
我很感激;但是,由于时间和沮丧,@ Diederik Sieburgh避免了让我继续进行我的项目,因为现在两周后我迷失了这一信息。