Vídeo recomendado
https://youtu.be/diWPPPhW-9E

EXPIRAR SISTEMA NO VBA E EXCEL

Dúvidas gerais sobre Excel
Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Melo »

Olá, rapaziadas

Um probleminha que gostaria de ajuda dos amigos.
Por meio do Banco de Dados 1.0 de nosso amigo Ricardo Horta e muitos estudos nos maiores blogs e sites especializados em vba e excel, consegui desenvolver um sisteminha nos meus estudos

PROBLEMINHA.

A baixo o código para expiar o uso do sistema e pedir uma senha para validar novamente, este codigo é inserido em um Botão ou na Pasta.

Dim expirardate As Date
expirardate = "02/11/2011"
If Date > expirardate Then
varNum = Application.InputBox("O Sistema expirou, Informe o codigo", "Revalidação do Prazo", "*****")
If varNum = 123456 Then
Exit Sub
End If
MsgBox ("Você chegou no final do período de uso")
ActiveWorkbook.Close
End If

Esta funcionando, mais com um probleminha, quando insiro o codigo 123456 na InputBox e clico em OK, não valida, fica sempre pedindo a senha.
Amigos como posso Resolver este problema, para quando eu inserir a senha o sistema aceite e fique valido.

Gostaria de ajuda amigos

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Neri

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Neri »

Bom dia Melo
não sei se vai resolver o teu problema, mas uma sugestão: esta data (expirardate = "02/11/2011" ) poderia constar numa planilha oculta, em qualquer célula e com a senha, poderia abrir um imputbox para digitar a nova data que enviaria para esta planilha e acredito que iria parar de pedir a senha, uma vez que a nova data para expirar seria maior que a atual. Mas surge outra dúvida: se vc passar a senha e a pessoa alterar a data, ela estaria com a senha e poderia alterar sempre que necessário.

Pense no assunto.
Abraço
Nerí


Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Melo »

Bom dia,

Nerí, é verdade.

Vou seguir sua sugestão,
a ideia é fazer com que quando inserir a senha e o clik OK valide por mais um periodo e cancele a senha atual , ainda não sei como, mais vou fazer algumas pesquisas e teste para que fique desta forma ou que se aproxime.


Conto com sua ajuda e dos amigos do fórum para chegarmos em um resultado positivo.
qualquer tipo de informação que contribua para esse desenvolvimento será bem vinda.

Abrsços

Melo


Felipe Dasi
Colaborador
Colaborador
Mensagens: 54
Registrado em: Seg Jul 05, 2010 6:56 am

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Felipe Dasi »

Colegas aqui tem uma proção de modelos, inclusive esse:

[REMOVIDO]


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Melo »

Olá, amigos

Felipe, valeu irmão, obrigado, vou dar uma olhadinha

Antes de vc postar, conseguir fazer com que ao inserir a senha e dar o OK no Application.InputBox, automaticamente salva a senha e na planilha que fica salva faz uma continha fazendo com gere uma nova, sabendo a ultima senha a pessoa faz um calculo e encontra a nova senha, como um gerador de Serial, ainda estou fazendo teste, mais acredito que vai funcionar corretamente.

Valeu abraços.


Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Melo »

Olá, irmãos

Uma ajudinha

Na Plan5 (valida) na Coluna 2 e Linha 3, tenho uma senha, e quero que ao digitar na Application.InputBox a mesma reconheça.

If Plan5.Cells(1, 2) >= Plan5.Cells(2, 2) Then
MsgBox "O Sistema Expirou, você tem até 3 tentativas", vbCritical, "Atenção"
varNum = Application.InputBox("O Sistema Expirou, Informe o novo Código", "Validando do Prazo", "**************")

If varNum = Worksheets("valida").Cells(2, 3) Then

no lugar Worksheets("valida").Cells(2, 3) eu coloco a senha e funciona, mais não tou conseguindo que puxe da planilha.

gostaria dessa ajuda


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Mauro Coutinho »

Melo, Declare a Variavel varNum, sem a declaração os tipos são incompatíveis, ou seja varNum é interpretada com sendo do Tipo Variant e não numerico(Long) :

Coloque no inico da rotina
Dim varNum As Long

Veja sobre variaveis no link abaixo, vale a pena ver o curso inteiro, alem de gratuito é otimo :

Lição 08: VBA - Declaração de Variáveis
http://www.juliobattisti.com.br/cursos/ ... licao8.asp

[]s


Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Melo »

Olá,

Irmão, Mauro

Vou fazer os teste e estudar sua indicação, obrigado

Um forte abraço

Valeu


Avatar do usuário
Melo
Colaborador
Colaborador
Mensagens: 70
Registrado em: Ter Jan 12, 2010 4:26 pm

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Melo »

Olá

Irmão, Mauro

Não consegui, apresentou erro "Estouro" na Linha do codigo: varNum = Application.InputBox("O Sistema expirou, Informe o codigo", "Revalidação do Prazo", "*****")

Já tentei, com UserForm, com so InputBox, com as orientaçõs do Fórum, com variaveis Long, Integer.

Sei que estou esquencendo algo, mais não sei o que é o codigo completo

Código: Selecionar todos

Sub protege()
Dim cont As Integer
Dim quant As Integer
Dim ultimaLinha As Long
Dim ws As Worksheet
        
Set ws = Worksheets("Valida")

quant = 3
cont = 0
volta:
If Plan5.Cells(1, 2) >= Plan5.Cells(2, 2) Then
MsgBox "O Sistema Expirou, você tem até 3 tentativas", vbCritical, "Atenção"
'PERMITI QUE O USUÁRIO DIGITE A SENHA
varNum = Application.InputBox("O Sistema Expirou, Informe o novo Código", "Validando do Prazo", "******")
'CASO A SENHA ESTEJA CORRETA
If varNum = 123456 Then ' AQUI QUERO Q A SENHA SEJA PUCHADA DA PLANILHA (Plan5 "VALIDA")

        ' Verifica qual a ultima linha preenchida
        ultimaLinha = ws.Cells(65536, 1).End(xlUp).Row
        
        ' Preenche a célula
        ws.Cells(ultimaLinha, 2).Value = Format(Now, "yyymmDDhhmmss")
                
UserForm_Usuario.Show

'Se não
Else
cont = cont + 1

'se o numero de tentativas alcançar a quantidade permitida
If cont >= quant Then

' Exibe a Mensagem
MsgBox "SENHA INCORRETA, o Sistema será Fechado", vbCritical, "Atenção"

'Salva e Fecha o arquivo
ActiveWorkbook.Close

Else
'se estiver errado pode tentar novamente
GoTo volta

End If
End If
End If
End Sub
Encarecidamente, uma ajudinha, não sei onde estou errando neste codigo.

Já tente:
If varNum = Plan5(2, 3) Then
If varNum = ws.Cells(2, 3) Then
If varNum =Worksheets("valida").Cells(2, 3) Then

E entre outros, mais ainda nada.

podem ajudar, desde já agradeço


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: EXPIRAR SISTEMA NO VBA E EXCEL

Mensagem por Mauro Coutinho »

Melo, acho que não entendeu onde Declarar a Variável, se está utilizando a rotina que postou, faltou a declaração que falei, então a rotina ficaria assim :

Código: Selecionar todos

    Sub protege()
    Dim cont As Integer
    Dim quant As Integer
    Dim ultimaLinha As Long
    
    'Declaramos a Variavel varNum
    Dim varNum As Long
    
    Dim ws As Worksheet
           
    Set ws = Worksheets("Valida")

    quant = 3
    cont = 0
volta:
    If Plan5.Cells(1, 2) >= Plan5.Cells(2, 2) Then
    MsgBox "O Sistema Expirou, você tem até 3 tentativas", vbCritical, "Atenção"
    'PERMITI QUE O USUÁRIO DIGITE A SENHA
    varNum = Application.InputBox("O Sistema Expirou, Informe o novo Código", "Validando do Prazo", "******")
    'CASO A SENHA ESTEJA CORRETA
    If varNum = 123456 Then ' AQUI QUERO Q A SENHA SEJA PUCHADA DA PLANILHA (Plan5 "VALIDA")

            ' Verifica qual a ultima linha preenchida
            ultimaLinha = ws.Cells(65536, 1).End(xlUp).Row
           
            ' Preenche a célula
            ws.Cells(ultimaLinha, 2).Value = Format(Now, "yyymmDDhhmmss")
                   
    UserForm_Usuario.Show

    'Se não
    Else
    cont = cont + 1

    'se o numero de tentativas alcançar a quantidade permitida
    If cont >= quant Then

    ' Exibe a Mensagem
    MsgBox "SENHA INCORRETA, o Sistema será Fechado", vbCritical, "Atenção"

    'Salva e Fecha o arquivo
    ActiveWorkbook.Close

    Else
    'se estiver errado pode tentar novamente
    GoTo volta

    End If
    End If
    End If
    End Sub
[]s


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder