我昨天刚刚发现了VBA并且玩得很开心,但是我遇到了一个问题:你如何阅读文本框的内容。它是幻灯片上唯一的文本框,我希望它能够应用于PowerPoint中的所有幻灯片。请让我澄清这是否有意义。
- EDIT-- 基本上,我想阅读文本框的内容,就像那样简单。
- EDIT-- 这是我目前的代码:
Sub answer()
Dim lCurrentView As Long
Dim myInput As String
Dim sld As Slide
Set sld = Application.ActiveWindow.View.Slide
myInput = sld.Shapes(4).TextFrame.TextRange.Text
A = InputBox(prompt:="Your Answer:")
MsgBox (myInput)
If A = myInput Then
MsgBox ("Correct!")
ActivePresentation.SlideShowWindow _
.View.GotoSlide Int(Rnd * _
ActivePresentation.Slides.Count) + 1
Else
MsgBox ("Sorry, try again...")
End If
End Sub
答案 0 :(得分:3)
尝试运行此宏并在“调试”窗口中检查结果(按Ctrl + G将其打开)。逐步执行(按F8键)并放置一些断点(按F9键)并检查对象浏览器(选择一个变量并按Shift + F2)
Sub Test()
Dim Sld As Slide, Shp As Shape
For Each Sld In ActivePresentation.Slides
For Each Shp In Sld.Shapes
Select Case Shp.Type
Case MsoShapeType.msoTextBox
Debug.Print Sld.Name, Shp.Name, Shp.TextFrame.TextRange.Text
Case Else
Debug.Print Sld.Name, Shp.Name, "This is not a text box"
End Select
Next Shp
Next Sld
End Sub
答案 1 :(得分:1)
在演示文稿的第一张幻灯片的第一个文本框中键入一些文本。然后打开VBA编辑器,右键单击“VBAProject”,然后选择“添加模块”。在新模块中,粘贴以下代码并按“播放”按钮。
Sub Textbox_reader()
Dim myInput As String
myInput = ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text
MsgBox (myInput)
End Sub