2014-03-04 85 views
0

昨天剛剛發現了關於VBA的內容,我很開心地使用它,但是我遇到了一個問題:您如何閱讀文本框的內容。它是幻燈片上唯一的文本框,我希望它能夠應用於PowerPoint中的所有幻燈片。請讓我澄清一下,如果這沒有意義。從PowerPoint中的VBA中的文本框中讀取信息

- 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 

回答

2

嘗試運行此宏並檢查結果在調試窗口(按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

鍵入一些文本在第一個文本框上的第一滑動的演示文稿。然後打開VBA編輯器,右鍵點擊「VBAProject」下的,然後選擇「添加模塊」。在新模塊中,粘貼以下代碼並按下「播放」按鈕。

Sub Textbox_reader() 
    Dim myInput As String 
    myInput = ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text 
    MsgBox (myInput) 
End Sub 
+0

好的,謝謝你的簡單回答,但我的問題是現在:你如何找到當前幻燈片上的文本框內容。 (請參閱我的編輯當前代碼) –

+0

假設您在幻燈片上只有1個文本框,您將用1替換「形狀(4)」中的4。此數字指的是幻燈片中形狀的索引。 – Mike

相關問題