Ir para conteúdo
Fórum Script Brasil
  • 0

Limitar uso da planilha (expirar tempo de uso)


master2005

Pergunta

Olá Pessoal,

Eu criei uma planilha de um requerimento e preciso distribui-la para diversos setores aqui no meu trabalho. Porém, eu quero limitar o tempo de uso dela.

Ex.: Quero que a planilha funcione até 31/07/2009 e á partir desse dia quem abrir ela, vai aparecer uma mensagem dizendo que o tempo de uso da planilha expirou e pedir para entrar em contato com o administrador, e pedir para o usuário inserir o código de liberação.

Mas quero limitar o tempo de uso de acordo com o código inserido. EX.: código 123410 (30 dias), 123420 (60 dias), 123430 (90 dias) etc etc. (mas o código só pode ser usado uma única vez).

Se alguém entendeu e puder me ajudar, agradeço muito.

Abraços.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Eu entendi o que você quer fazer, enfim, se você quer limitar sem o uso de código:

Dim daate As Date
daate = "3/9/2009"
If Date < daate Then
    Call AddMenus
Else
    On Error Resume Next
    Application.CommandBars("Worksheet Menu Bar").Controls("&KTools").Delete
    On Error GoTo 0
    MsgBox "Desculpe o incômodo, sua licença do KTools expirou, procure informações com o seguinte contato:" & vbCrLf & _
    "Diogo Lima Paim - diogo.paim@egs.com.br - 011 93511493"
End If

Agora para o uso de códigos (Licensas, GUIs) .. você vai precisar de uma pagina web para isso...

Ai você faria a sua planílha acessar a pagina da seguinte forma:

Workbooks.Open "http://seusite.seudominio/licensecheck.php?licenseID=" & license

E caso ela receba na célula A1 por exemplo, 1 e na célula A2 um nome de usuário, na célula A3 a data que expira a licença, ela confirme a licença da ferramenta e a data para expirar.

Em server side, você só deve tomar cuidado para deixar que cada licença só pode ser acessada 2x anted de deixar 0 na primeira linha, pois o Office ele manda uma query na pagina pra ver se existe antes de abrir.. conta 2 acessos..serverside

a resposta do servidor seria algo dessa maneira:

if ($row['use'] =< 2) {

echo "1/r".$usercontrol_row['userrealname']."/r".$row['expiration_period"];

UPDATE o campo USE no DB incrementando em 1.

} Else {

echo "0/r0/r0"

}

Espero ter ajudado em algo, um grande abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde colega,

Veja se o código abaixo lhe ajuda. Foi criado para excel 2003, pode ser que precise d algum ajuste.

Não é exatamente o que voce descreve porém pode ser ajustado.

Sub Workbook_Open()

If Date <=#12/06/2009# Then Exit Sub

MsgBox "Adeus, .... vou apagar"

With ThisWorkbook

.Saved = True

.ChangeFileAcess xlReadOnly

Kill Full Name

.Close False

End With

End Sub

O arquivo não vai para a lixeira,,, é deletado permantemente. É igual ao comando Shift Del.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...