Isso é possível no Excel? (VBA)

0

Eu quero criar uma macro VBA que faça o seguinte:

O arquivo do Excel com a Macro só deve abrir quando o arquivo for aberto a partir de uma determinada pasta no diretório do Windows.

Se não for aberto a partir da pasta especificada, ele precisa mostrar um erro msgbox e fechar o arquivo automaticamente.

O arquivo que estamos usando já está completamente protegido, mas os usuários ainda podem copiá-lo da pasta existente para a área de trabalho. Por exemplo, queremos impedir que eles usem uma versão mais antiga aceitando apenas a abertura do arquivo de uma certa diretório. Eu tentei procurar na internet por uma solução, mas não a encontrei.

  • Aberto a partir dos atalhos de inclusão.

  • É um arquivo de corportate, mas as macros são usadas em nosso ambiente.

  • Eu preciso de código onde eu possa editar o nome da pasta para qualquer coisa que eu queira (para que possamos sempre mudar depois)

por 11032014 11.03.2014 / 09:27

1 resposta

1

Coloque isso em thisworkbook no Editor do VBA:

Private Sub workbook_open()

Dim strPath As String
strPath = "c:\username\path\to\workbook"

If Not Application.ActiveWorkbook.Path = strPath Then
    MsgBox ("This is an old version, please use the correct version at " & strPath)
    Application.ActiveWorkbook.Close
End If

End Sub

Altere apenas strPath para o caminho que você deseja usar. Você também pode substituir ActiveWorkbook por ThisWorkbook se achar necessário.

Se estiver em um compartilhamento de rede, certifique-se de testar o que o .path oferece, pois ele pode substituir o local de rede por uma letra de unidade, que pode mudar entre os usuários.

    
por 11.03.2014 / 13:33