Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#4851
Boa Noite,
Esta minha dúvida diz respeito ao seguinte, caso eu disponibilize alguma planilha para algum cliente, e este irá usá-la durante um período de 30 dias (ou mais conforme especificação). Como faço para limitar o tempo de uso de uma planilha por exemplo em 30 dias, e após este período ela trava até nova ativação? É possível?
Obrigado.
#4864
Bom dia!!

Considerando que o seu projeto está protegido...
Dentro de EstaPasta_de_trabalho, insira o código.
Código: Selecionar todos
Private Sub Workbook_Open()
Dim Edate As Date
    Edate = Format("03/11/20115", "DD/MM/YYYY")
    If Date > Edate + 30 Then
    MsgBox "O arquivo vai expirar !!!"
    ActiveWorkbook.Close
End Sub
Não testado!!
Outra fonte:
http://excel.tips.net/T002590_Expiratio ... grams.html

Att
#4870
Minha resposta é mais um complemento à pergunta, mas vamos la:

Essa trava de 30 dias por VBA, na minha opinião, não é lá muito eficiente. Não por erro do código, mas porque a pessoa para quem você enviou o arquivo pode simplesmente não habilitar macros no arquivo dela. Isso faz com que o código não funcione e o arquivo seja aberto normalmente, mesmo depois dos 30 dias terem passado.

Eu acredito que forçar a ativação de macros no arquivo seja impossível. Abro caminho agora pros crânios do fórum :D
#4873
Boa tarde!!
Essa trava de 30 dias por VBA, na minha opinião, não é lá muito eficiente. Não por erro do código, mas porque a pessoa para quem você enviou o arquivo pode simplesmente não habilitar macros no arquivo dela. Isso faz com que o código não funcione e o arquivo seja aberto normalmente, mesmo depois dos 30 dias terem passado.

Eu acredito que forçar a ativação de macros no arquivo seja impossível. Abro caminho agora pros crânios do fórum
Como regra da Microsoft, não uma forma garantida de ativar as macros, porém para usar o arquivo de forma plena, há como forçar.

Antes de enviar, pode se executar a macro para ocultar (xlveryhidden), as guias necessárias, além de proteger o ProjetoVBA, o usuário só vai usar o arquivo se habilitar as macros.

Ou pode editar uma hibbon
http://www.rondebruin.nl/win/s2/win001.htm


Att
#4983
Bom dia!!!

Veja se ajuda.
Código: Selecionar todos
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'https://support.microsoft.com/en-us/kb/142530
    Dim WS As Worksheet
 'O código vai ocultar a guia de desejada antes de fechar o arquivo
    Set WS = Worksheets("SuaGuia")
    WS.Visible = xlSheetVeryHidden

End Sub
Código: Selecionar todos
Private Sub Workbook_Open()
Dim Edate As Date
Dim WS As Worksheet

 'O código vai exibir a guia de desejada antes de fechar o arquivo
 'Obs: Caso as macros do usuario, não esteja habilitada, ele não verá o que deseja ver
    Set WS = Worksheets("SuaGuia")
    WS.Visible = True
    
    Edate = Format("03/11/20115", "DD/MM/YYYY")
    If Date > Edate + 30 Then
    MsgBox "O arquivo vai expirar !!!"
    ActiveWorkbook.Close
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord