PEGAR INDEX DA ABA DO SSTAB

 Tópico anterior Próximo tópico Novo tópico

PEGAR INDEX DA ABA DO SSTAB

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#410084 - 20/09/2012 13:55:27

RODRIGOFERRO
VIANA
Cadast. em:Junho/2009


Alguem sabe uma forma de conseguir o index de uma tab do sstab onde um determinado controle esta ?
Tipo eu tenho o Textbox 2 ele esta na ABA (3) de um sstab, como faço via codigo pra descobrir isso !

ja tentei via pog, mas se ele tiver dentro de um frame ja da zica...

dessa forma aqui



Public Sub AtivaTab(NomeFormulario As Variant)

    On Error GoTo Final
    
    Dim ctlPai As Control
    Set ctlPai = NomeFormulario.ActiveControl.Container
    Dim lngTab As Long
    Dim strNomeCampo As String
    Dim Controle As Control
    Dim CurrentTab As Control
    
    strNomeCampo = NomeFormulario.ActiveControl.Name
  
    Do
        
        If ctlPai Is Nothing Then Exit Do
        
        If LCase(TypeName(ctlPai)) = "sstab" Then
            
            For Each Controle In NomeFormulario.Controls
                
                If LCase(Controle.Name) = LCase(strNomeCampo) Then
                
                    For lngTab = 0 To ctlPai.Tabs - 1
                
                        If ctlPai.TabEnabled(lngTab) Then
                            
                            ctlPai.Tab = lngTab
                            
                            If Controle.Name = strNomeCampo And Controle.Left > 0 Then
                                Debug.Print "Achou o controle: " & strNomeCampo & " // " & "no controle: " & ctlPai.Name & "(" & lngTab & ")" & " // " & "Left: " & Controle.Left
                                Exit For
                            End If
                            
                        End If
                    
                    Next
                
                End If
            
            Next
        
            strNomeCampo = ctlPai.Name
        
        End If
        
        Set ctlPai = ctlPai.Container
    
    Loop
    
    Exit Sub
    
Final:
    If Err.Number = 13 Then Set ctlPai = Nothing: Resume Next

End Sub



Abraços

Estou voltando... Olá a todos... Já posso dizer, ("Ja lhes falei mais de mil vezes... HIAUhIAHIAUhAIUHAIUA")
- Chuck Norris usa o Notepad como banco de dados relacional.
- Chuck Norris sabe falar em códigos binários.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por RODRIGOFERRO em 03/04/2013 21:02:02