Usuário com melhor resposta
Duvida-Formulário

Pergunta
-
Bom Dia
Pessoal,tenho uma pasta de trabalho do excel que pela qual é realizada uma pesquisa por meio de formulários!A pesquisa se inicia no evento Activate da pasta de trabalho mostrando o Primeiro Formulário,no ultimo formulário a pasta de trabalho é salva e fecha automaticamente!Até aí tudo bem, o problema é que o Formulário tem o botão fechar e se o usuário clicar nele ele pode fechar o formulário e ter acesso à planilha!
Eu queria saber como posso bloquear o click no botão fechar ou até mesmo saber qual o evento porque assim poderia por uma senha para se ter acesso à planilha se clicado o botão fechar do form,alguem pode me ajudar?
grato pela ajuda
sexta-feira, 18 de abril de 2008 12:47
Respostas
-
Xox, não se esqueça de usar esta propriedade
Caso o usuário tente apertar ctrl+pause/break e assim ele poderia interromper seu código mesmo seu projeto tendo senha...
Use essa propriedade com muito cuidado. Se você usar xlDisabled, não haverá como interromper um loop descontrolado ou outro código que não termine a si mesmo.
Code SnippetApplication.EnableCancelKey = xlDisabled
Até..
domingo, 20 de abril de 2008 17:05 -
Boa Tarde
Estive testando as sugestões mas infelizmente ela não serviu a minha necessidade.
Em teste eu consegui o seguinte:
Code SnippetPrivate Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As LongPrivate Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPrivate Const MF_BYPOSITION = &H400&
Private Sub UserForm_Initialize()
Dim lHwnd As Long
lHwnd = FindWindow("ThunderDFrame", Me.Caption)Do While lHwnd = 0
lHwnd = FindWindow("ThunderDFrame", Me.Caption)DoEvents
Loop
RemoveMenu GetSystemMenu(lHwnd, 0), 6, MF_BYPOSITIONEnd Sub
Essa macro desabilita o botao fechar do formulário!
Muito Obrigado pelas dicas e sugestões se precisarem de ajuda estou disponivel !
Boa Tarde e obrigado pela atenção!
Ah,Evangelista muito obrigado pela dica foi de muito bom uso!
Grato
terça-feira, 22 de abril de 2008 18:14
Todas as Respostas
-
Não tive tempo de testar, mas faria algo mais ou menos assim:
Code SnippetPrivate Sub UserForm_Terminate()
'Ativa um InputBox quando o UserForm é fechado
Senha = InputBox("Digite a senha", "Password")
Select Case Senha
Case "123"'Se a senha digitada for igual a 123, seleciona Sheets(1).
Sheets(1).Select
Case Else
'Instrução para o caso da senha não estar correta"
End Select
End Sub[ ]s e bom final de semana
sábado, 19 de abril de 2008 19:10 -
Xox, não se esqueça de usar esta propriedade
Caso o usuário tente apertar ctrl+pause/break e assim ele poderia interromper seu código mesmo seu projeto tendo senha...
Use essa propriedade com muito cuidado. Se você usar xlDisabled, não haverá como interromper um loop descontrolado ou outro código que não termine a si mesmo.
Code SnippetApplication.EnableCancelKey = xlDisabled
Até..
domingo, 20 de abril de 2008 17:05 -
Boa Tarde
Estive testando as sugestões mas infelizmente ela não serviu a minha necessidade.
Em teste eu consegui o seguinte:
Code SnippetPrivate Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As LongPrivate Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPrivate Const MF_BYPOSITION = &H400&
Private Sub UserForm_Initialize()
Dim lHwnd As Long
lHwnd = FindWindow("ThunderDFrame", Me.Caption)Do While lHwnd = 0
lHwnd = FindWindow("ThunderDFrame", Me.Caption)DoEvents
Loop
RemoveMenu GetSystemMenu(lHwnd, 0), 6, MF_BYPOSITIONEnd Sub
Essa macro desabilita o botao fechar do formulário!
Muito Obrigado pelas dicas e sugestões se precisarem de ajuda estou disponivel !
Boa Tarde e obrigado pela atenção!
Ah,Evangelista muito obrigado pela dica foi de muito bom uso!
Grato
terça-feira, 22 de abril de 2008 18:14