Fórum Excel Bácico, Avançado e Vba
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  Entrar  

 

 Impedir que a Planilha seja Aberta em outro local [RESOLVIDO]

Ir para baixo 
3 participantes
AutorMensagem
Lipesoratto




Mensagens : 3
Data de inscrição : 09/11/2012

Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] Empty
MensagemAssunto: Impedir que a Planilha seja Aberta em outro local [RESOLVIDO]   Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] EmptySex Nov 09, 2012 4:20 pm

Olá Pessoal,

Eu não possuo muito conhecimento em programar no Exel, Na verdade programo em delphi.

Mas estou precisando impedir a cópia de uma planilha para outro local.
Como não é possível Impedir no servidor a cópia da planilha, pensei que algum código VBA pudesse me ajudar.

Pensei numa logica assim:

após a planilha abrir, verificar se o local da planilha é = 'C:\\documentos\office' , se for então planilha liberada
Se não (em caso de cópia para outro local) aparece uma mensagem do tipo 'Planilha foi copiada' e fecha o exel

mais ou menos a lógica seria essa, mas não conheço os comandos
se tiverem outra lógica que tenha mais ou menos a mesma função pode postar

Preciso muito, desde já
Obrigado pessoal.


Última edição por Lipesoratto em Ter Nov 27, 2012 1:27 pm, editado 1 vez(es)
Ir para o topo Ir para baixo
McJota




Mensagens : 16
Data de inscrição : 26/10/2012
Idade : 48

Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] Empty
MensagemAssunto: Re: Impedir que a Planilha seja Aberta em outro local [RESOLVIDO]   Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] EmptySex Nov 09, 2012 7:40 pm

Olá, boa tarde!
Você pode usar o GetDriveSerialNumber para bloquear a abertura da planilha em outros PCs.
Insira uma nova planilha com o nome "HD".
No desenvolvedor em EstaPasta_de_trabalho insira o seguinte código:

Public Function GetDriveSerialNumber(Optional ByVal DriveLetter As String) As Long
Dim fso As Object
Dim Drv As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If DriveLetter <> "" Then
Set Drv = fso.GetDrive(DriveLetter)
Else
Set Drv = fso.GetDrive(fso.GetDriveName(App.Path))
End If
With Drv
If .IsReady Then
DriveSerial = Abs(.SerialNumber)
Else
DriveSerial = -1
End If
End With
Set Drv = Nothing
Set fso = Nothing
GetDriveSerialNumber = DriveSerial
End Function

Private Sub Workbook_Activate()
On Error GoTo Erro
Dim x As Variant
x = GetDriveSerialNumber("C")
Worksheets("HD").Visible = xlSheetVisible
ThisWorkbook.Worksheets("HD").Activate
Range("A1").Select
If ActiveCell.Value = "" Then
ActiveCell.Value = x
Worksheets("HD").Visible = xlSheetVeryHidden
Else
ActiveCell.Offset(0, 1).Value = x
If ActiveCell.Value <> ActiveCell.Offset(0, 1).Value Then
Worksheets("HD").Visible = xlSheetVeryHidden
MsgBox "Esta cópia não está autorizada!", vbCritical, "Alerta!"
Application.DisplayAlerts = False
ThisWorkbook.Application.Quit
ActiveWorkbook.Close savechanges:=True
Application.DisplayAlerts = True
Else
Worksheets("HD").Visible = xlSheetVeryHidden
End If
End If
Erro:
Exit Sub
End Sub

Testa e vê se é isso que você precisa.

Abraço....
Ir para o topo Ir para baixo
Lipesoratto




Mensagens : 3
Data de inscrição : 09/11/2012

Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] Empty
MensagemAssunto: Re: Impedir que a Planilha seja Aberta em outro local [RESOLVIDO]   Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] EmptySex Nov 23, 2012 2:00 pm

Olá Mc Jota,

Agradeço a sua sugestão, mas ela não me serve porque acontece o seguinte:

Esses arquivos que quero impedir a abertura em outro local estão em uma pasta no Servidor, e algumas pessoas vão ter acesso a essa pasta porém vão acessar de lugares diferentes. quero evitar de copiarem o arquivo para um pendrive por exemplo e abrirem em casa ou em outro lugar que não seja no servidor.

por isso sugeri algo relacionado ao caminho do arquivo...

Se tiver outra sugestão agradeço.

Abraço...
Ir para o topo Ir para baixo
alexandrevba

alexandrevba


Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] Empty
MensagemAssunto: Re: Impedir que a Planilha seja Aberta em outro local [RESOLVIDO]   Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] EmptyDom Nov 25, 2012 1:01 am

Boa noite!!

Tente esse

O código deve ser posto dentro do evento da EstaPasta_de_trabalho
Código:
Private Sub Workbook_Open()
If Left(ThisWorkbook.FullName, 1) <> "C" Then
 MsgBox "Não encontrado a unidade C "
 ThisWorkbook.Close
End If
End Sub
Ir para o topo Ir para baixo
Lipesoratto




Mensagens : 3
Data de inscrição : 09/11/2012

Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] Empty
MensagemAssunto: [Resolvido]   Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] EmptyTer Nov 27, 2012 1:24 pm

Muito Obrigado Alexandre

Era isso mesmo que estava procurando, Funcionou Direitinho!

Deus abençoe sua Vida!
Abç!

[RESOLVIDO]
Ir para o topo Ir para baixo
Conteúdo patrocinado





Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] Empty
MensagemAssunto: Re: Impedir que a Planilha seja Aberta em outro local [RESOLVIDO]   Impedir que a Planilha seja Aberta em outro local [RESOLVIDO] Empty

Ir para o topo Ir para baixo
 
Impedir que a Planilha seja Aberta em outro local [RESOLVIDO]
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» resolvido macro excel: enviar email + planilha anexa + copiar a célula A1 e colar no assunto e corpo de e-mail, outlook resolvido
» Macro para copiar dados de uma planilha e colar na última linha vazia de outra planilha
» Copiando dados de uma planilha para outra via VBA [RESOLVIDO]
» RESOLVIDO!! VBA - Procura itens em uma planilha e posta resultado em outras
» impressão de Formulario e planilha na mesma folha

Permissões neste sub-fórumNão podes responder a tópicos
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: