Excel & AccessOfficeVBS & VBA

Limite o número de vezes que um arquivo XLS e XLSX pode ser aberto

120 views
3 Comentários
0
(0)

Suponha que você queira enviar uma versão demo de um arquivo para um usuário examinar, mas você não quer que ele seja utilizado mais do que um determinado número de vezes, talvez seja uma versão trial que só deseje liberar após um determinado pagamento. Há uma série de abordagens possíveis para esta situação, mas aqui eu vou mostrar para o uso de algumas declarações VBA simples, chamadas SaveSetting e GetSetting .

Aqui está uma imagem de todo o procedimento. É executado cada vez que o arquivo é aberto. Se o código VBA for protegido por senha, o usuário não será capaz de evitar facilmente que o programa de demonstração expire.
Código VBA que é executado quando o livro é aberto
A sintaxe para GetSetting é:
Sintaxe para GetSetting
… E para SaveSetting é:
Sintaxe para SaveSetting
Cada um dos parâmetros contém um nome arbitrário que você fornecer para acessar informações armazenadas em ou ler a partir do registo.
O AppName é mais como uma categoria principal, o ponto é uma subcategoria e o Key é ainda uma outra categoria. Ele fica mais claro com o exemplo. A primeira vez que este arquivo é aberto, a instrução N = GetSetting (“Demo”, “Demo”, “Demo”, 0) +1 é executado. O quarto parâmetro é o valor padrão dado se nenhuma configuração é, na verdade, já armazenadas.Então, pela primeira vez, o GetSetting retorna 0 . Adicionando 1 para esta armazena um 1 na variável n .
Então n não é 5 (ainda), e ele corre para o SaveSetting . A declaração SaveSetting “Demo”, “Demo”, “Demo”, n agora armazena o valor 5 no registro. A próxima vez que o arquivo for aberto, o GetSetting retorna esse 1 , e 1 é adicionado a ele e armazenado em n . Ainda não 5 , e agora um 2 é armazenado no registro, etc. Eventualmente, o GetSetting retorna 5 , n é 6 , eo programa termina depois de dar uma mensagem para o usuário.
Para repor esta a zero em sua própria máquina, você pode executar SaveSetting “Demo”, “Demo”, “Demo”, 0, ou você pode executar uma outra variação do VBA, chamado DeleteSetting . Esta sintaxe é:
Sintaxe para DeleteSetting
Como você pode ver, a Seção e Key são opcionais. Então execução DeleteSetting “Demo”limpa o registro do NomeAplic bem como Seção e Key .
Por último, o valor armazenado não se limita a números como tenho mostrado neste exemplo, ele pode ser qualquer string que você queira, usando-o como uma área de armazenamento para qualquer finalidade.
Bob Umlas, Excel MVP
Traduzido de: http://blogs.office.com/2012/01/04/vba-tip-limit-the-number-of-times-a-file-can-be-opened/

O que você achou disso?

Média da classificação 0 / 5. Número de votos: 0

Nenhum voto até agora! Seja o primeiro a avaliar este post.

Como você achou esse post útil...

Ajude o site a crescer compartilhando o conteúdo

Lamentamos que este post não tenha sido útil para você!

Vamos melhorar este post!

Diga-nos, como podemos melhorar este post?

Tags: ,

Artigos Relacionados

3 Comentários. Deixe novo

Gostou do conteúdo? Deixe seu comentário

Veja também

Menu