Exemplo do evento Layout, das propriedades OldLeft, OldTop, OldHeight, OldWidth
O exemplo a seguir usa as propriedades OldLeft e OldTop e propriedades OldHeight e OldWidth no evento Layout para manter um controle em sua posição e tamanho atuais.
O usuário clica no CommandButton rotulado Move ComboBox para mover o controle e, em seguida, responde a uma caixa de mensagens. O usuário pode clicar no CommandButton rotulado Redefinir ComboBox para redefinir o controle para outra repetição.
Para usar este exemplo, copie esta amostra de código para a parte Declarações de um formulário. Verifique se o formulário contém:
- Dois controles CommandButton denominados CommandButton1 e CommandButton2.
- Uma ComboBox chamada ComboBox1.
Dim Initialize As Integer
Dim ComboLeft, ComboTop, ComboWidth, _
ComboHeight As Integer
Private Sub UserForm_Initialize()
Initialize = 0
CommandButton1.Caption = "Move ComboBox"
CommandButton2.Caption = "Reset ComboBox"
'Information for resetting ComboBox
ComboLeft = ComboBox1.Left
ComboTop = ComboBox1.Top
ComboWidth = ComboBox1.Width
ComboHeight = ComboBox1.Height
End Sub
Private Sub CommandButton1_Click()
ComboBox1.Move 0, 0, , , True
End Sub
Private Sub UserForm_Layout()
Dim MyControl As Control
Dim MsgBoxResult As Integer
'Suppress MsgBox on initial layout event.
If Initialize = 0 Then
Initialize = 1
Exit Sub
End If
MsgBoxResult = MsgBox("In Layout event " _
& "- Continue move?", vbYesNo)
If MsgBoxResult = vbNo Then
ComboBox1.Move ComboBox1.OldLeft, _
ComboBox1.OldTop, ComboBox1.OldWidth, _
ComboBox1.OldHeight
End If
End Sub
Private Sub CommandButton2_Click()
ComboBox1.Move ComboLeft, ComboTop, _
ComboWidth, ComboHeight
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.