2013-08-02 81 views
0

我是新来的Visual Basic,我不明白这个任务需要什么对象。显示/隐藏控件文本框

我有5个“控制文本框”,我想隐藏在Powerpoint中显示。我有以下的代码,并收到一个424错误:

Private Sub CommandButton1_Click() 
    Activesheet.oleobjects("TextBox2").Visible = False 
    Activesheet.oleobjects("TextBox9").Visible = False 
    Activesheet.oleobjects("TextBox8").Visible = False 
    Activesheet.oleobjects("TextBox7").Visible = False 
    Activesheet.oleobjects("TextBox6").Visible = False 
End Sub 

Private Sub CommandButton2_Click() 
    Activesheet.oleobjects("TextBox2").Visible = True 
    Activesheet.oleobjects("TextBox9").Visible = True 
    Activesheet.oleobjects("TextBox8").Visible = True 
    Activesheet.oleobjects("TextBox7").Visible = True 
    Activesheet.oleobjects("TextBox6").Visible = True 
End Sub 
+0

为什么'activesheet' for'powerpoint-vba'?您的问题尚不清楚......添加更多关于您的演示文稿(?)的描述。您可能会添加一些屏幕截图... –

+0

我错误地为此线程中的所有值输入了True,并通过删除“Activesheet.oleobjects()”状态来解决此问题: TextBox2.Visible = False TextBox2.Visible = True –

回答

1

PowerPoint中没有表,所以没有Activesheet对象。那会立即触发一个错误。要简单地切换可见性,您可以这样做:

Sub ToggleVisibility() 
    With ActivePresentation.Slides(1) 
     .Shapes("TextBox1").Visible = Not .Shapes("TextBox1").Visible 
     .Shapes("TextBox2").Visible = Not .Shapes("TextBox2").Visible 
     ' and so on 
    End With 
End Sub 
+0

我错误地为这个线程中的所有值输入了True,并通过移除“Activesheet.oleobjects()”来解决此问题:TextBox2.Visible = False TextBox2.Visible = True - Michael Schaefer 2分钟前编辑 –