Compartilhar Excel com Macro via rede urgente - resolvido

Dúvidas gerais sobre Excel

Compartilhar Excel com Macro via rede urgente - resolvido

Mensagempor Henry-Systems » Seg Ago 20, 2012 5:41 pm

Salve a todos!

Estou precisando de uma ajuda dos mais experientes em VBA.

Estou precsiando disponibilizar um cadastro via rede para 6 usuários.

Verifiquei que não dá para compartilhar as macros.

Li aqui num forum que dá para compartilhar se o banco de dados estiver separado dos formularios.

Preciso entender como posso separar o banco de dados dos formularios que já estão funcionando.

Estou enviando o arquivo anexo totalmente funcional para que possam me ajudar na separação do banco de dados dos formularios (macros).

Desde já agradeço pela ajuda.
Anexos
NF EMITIDAS MÊS DE JUNHO ATUALIZADA(VBA - 04).rar
Cadastro de notas fiscais
(480.2 KiB) Baixado 51 vezes
Editado pela última vez por Henry-Systems em Dom Set 02, 2012 3:24 pm, em um total de 1 vez.
Henry-Systems
 
Mensagens: 87
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: São Paulo
Agradecimentos dados: 18 vezes
Agradecimentos recebidos: 7 vezes

Re: Compartilhar Excel com Macro via rede urgente

Mensagempor Rafael » Ter Ago 21, 2012 9:32 am

Henry,

A lógica é o seguinte, se você usar o banco que dados integrado na planilha que você criou o form, será praticamente impossível 2 ou mais computadores usar o formulário sem dar conflito, além de o Excel não permitir isso. O que eu sugiro pra você é usar o banco de dados separado da planilha que tem o form e colocar um formulário por computador usando um único BD. Assim vários formulários poderá buscar os dados nesse banco, mesmo sendo em rede.

Coloquei um exemplo em anexo.

Abs.
Anexos
Acesso em rede.rar
Acesso a banco de dados.
(180.54 KiB) Baixado 99 vezes
Abs.
Avatar do usuário
Rafael
 
Mensagens: 98
Registrado em: Seg Nov 28, 2011 8:27 am
Localização: Ibiúna - São Paulo
Agradecimentos dados: 10 vezes
Agradecimentos recebidos: 20 vezes

Re: Compartilhar Excel com Macro via rede urgente

Mensagempor Henry-Systems » Ter Ago 21, 2012 3:09 pm

Buenas.

Vou analisar o que enviou em anexo e adaptar à minha necessidade, depois dou um parecer.

Desde já agradeço pela ajuda.

Abraços

Rafael escreveu:Henry,

A lógica é o seguinte, se você usar o banco que dados integrado na planilha que você criou o form, será praticamente impossível 2 ou mais computadores usar o formulário sem dar conflito, além de o Excel não permitir isso. O que eu sugiro pra você é usar o banco de dados separado da planilha que tem o form e colocar um formulário por computador usando um único BD. Assim vários formulários poderá buscar os dados nesse banco, mesmo sendo em rede.

Coloquei um exemplo em anexo.

Abs.
Henry-Systems
 
Mensagens: 87
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: São Paulo
Agradecimentos dados: 18 vezes
Agradecimentos recebidos: 7 vezes

Re: Compartilhar Excel com Macro via rede urgente

Mensagempor Henry-Systems » Ter Ago 21, 2012 5:42 pm

Buenas Rafael.

Olhei os exemplos que deixou disponives, e pelo que vi, vão me ajudar a resolver o meu problema.

Aí surguiu uma dúvida.

Quando altero o nome do banco de dados o formulário informa que o arquivo não pode ser encontrado. Tem razão pois alterei o nome do mesmo.

Pelo que verifiquei você tem um código para definir a planilha:

Private Sub DefinePlanilhaDados()
Dim abrirArquivo As Boolean
Dim wb As Workbook
Dim caminhoCompleto As String
Dim ARQUIVO_DADOS As String
Dim PASTA_DADOS As String

abrirArquivo = True

ARQUIVO_DADOS = Range("ARQUIVO_DADOS").Value
PASTA_DADOS = Range("PASTA_DADOS").Value

If ThisWorkbook.Name <> ARQUIVO_DADOS Then
'monta a string do caminho completo
If PASTA_DADOS = vbNullString Or PASTA_DADOS = "" Then
caminhoCompleto = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, vbNullString) & ARQUIVO_DADOS
Else
If Right(PASTA_DADOS, 1) = "\" Then
caminhoCompleto = PASTA_DADOS & ARQUIVO_DADOS
Else
caminhoCompleto = PASTA_DADOS & "\" & ARQUIVO_DADOS
End If
End If

'verifica se o arquivo não está aberto
For Each wb In Application.Workbooks
If wb.Name = ARQUIVO_DADOS Then
abrirArquivo = False
Exit For
End If
Next

'atribui o arquivo
If abrirArquivo Then
Set wbCadastro = Workbooks.Open(Filename:=caminhoCompleto, ReadOnly:=True)
Else
Set wbCadastro = Workbooks(ARQUIVO_DADOS)
End If
Else
Set wbCadastro = ThisWorkbook
End If

Set wsCadastro = wbCadastro.Worksheets(nomePlanilhaCadastro)

'oculta o arquivo de dados
wbCadastro.Windows(1).Visible = False

End Sub

O que não consegui visualizar no código onde eu defino o nome do arquivo que preciso abri.

Teria como me dar uma ajuda nessa questão, pois está faltando conhecimento de minha parte nessa questão.

Ou se é definido em outro local.

Desde já agradeço pela ajuda.

Abraços

Rafael escreveu:Henry,

A lógica é o seguinte, se você usar o banco que dados integrado na planilha que você criou o form, será praticamente impossível 2 ou mais computadores usar o formulário sem dar conflito, além de o Excel não permitir isso. O que eu sugiro pra você é usar o banco de dados separado da planilha que tem o form e colocar um formulário por computador usando um único BD. Assim vários formulários poderá buscar os dados nesse banco, mesmo sendo em rede.

Coloquei um exemplo em anexo.

Abs.
Henry-Systems
 
Mensagens: 87
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: São Paulo
Agradecimentos dados: 18 vezes
Agradecimentos recebidos: 7 vezes

Re: Compartilhar Excel com Macro via rede urgente

Mensagempor Rafael » Ter Ago 21, 2012 8:34 pm

Henry,

Uma sugestão sem complicar seria simplesmente deixar todas as planilhas que tem os forms numa pasta em um determinado computador, o administrador por exemplo, aí você pode criar atalhos dessas planilhas para cada computador usando um planilha por computador. ;)
Abs.
Avatar do usuário
Rafael
 
Mensagens: 98
Registrado em: Seg Nov 28, 2011 8:27 am
Localização: Ibiúna - São Paulo
Agradecimentos dados: 10 vezes
Agradecimentos recebidos: 20 vezes

Re: Compartilhar Excel com Macro via rede urgente

Mensagempor Mikel Silveira Fraga » Qua Ago 22, 2012 12:31 pm

Henry, bom dia.

Eu tenho uma função parecida com a que esta querendo fazer, mais eu estruturei os arquivos para realizar isso. Vou tentar explicar em passos, ok. Vamos lá:

1º Passo: no servidor da empresa (ou local onde todos os usuários consigam ter algum acesso), foi criado um diretório com permissão para todos os usuários Somente Leitura (tendo acesso para salvar alterações apenas os administradores de rede) e o mesmo foi mapeado como Unidade de Rede para os demais terminais, porém ela não aparece no Meu Computador dos terminais de acesso. Dessa forma, todos os usuários da empresa tem acesso ao diretório, mas não o vizualizam.

2º Passo: criei dois arquivos - o excel com os formulários e outro para o banco de dados. Mantendo os dois únicos arquivos em um único diretório, não existindo a necessidade de alterar as configurações em cada terminar.

3º Passo: criei um atalho do arquivo excel com formulário e coloquei na Área de Trabalho de cada terminar, de forma q todos os usuários que acessam as informações terão acesso ao mesmo arquivo.

4º Passo: quando um arquivo do Excel é aberto por dois ou mais usuários, sempre aparece uma mensagem falando que o arquivo esta em uso e será aberto como somente leitura. Para bloquear esta mensagem, utilizei o seguinte código:
Código: Selecionar todos
Private Sub Workbook_Open()
   
    Application.DisplayAlerts = False
   
End Sub

Este comando acima evita que a mensagem de erro seja exibida.

Dessa forma, bloqueie todos os terminais de terem permissão de salvar uma alteração dos códigos de arquivo Excel com Formulário, devido a falta de permissão que o diretório causa. Caso você não consiga fazer isso, coloque um controle de acesso com alguma condição para que somente os usuários/senhas autorizadas possam realizar um salvar documento.

Uma situação nesses passos é que a estrutura de arquivo foge um pouco da programação de VBA, por isso tem que conhecer um pouco de rede. Se possuir conhecimento sobre o assunto, nada muito avançado, já resolve ou se tiver alguém que possa te orientar na empresa, acredito que de certo.

Por exemplo, tenho 3 documentos que funcionam dessa forma, mas somente 1 deles tem um uso frequente por mais de um departamento, e em nenhum momento ocorreu algum erro de acesso duplicado.

Espero ter ajudado ou pelo menos dado uma luz.

Abraços.
Esclareceu suas dúvidas? Acrescente ao título do tópico a expressão: [RESOLVIDO].

Mikel Silveira Fraga
E-mail: mikel-sf@hotmail.com
Skype: mikelsf
Avatar do usuário
Mikel Silveira Fraga
 
Mensagens: 189
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valdares - MG
Agradecimentos dados: 6 vezes
Agradecimentos recebidos: 42 vezes

Re: Compartilhar Excel com Macro via rede urgente

Mensagempor Henry-Systems » Qua Ago 22, 2012 9:21 pm

Buenas Rafael.

Consegui descobrir como funciona a macro puxa as informações do banco de dados para os formulários e vice versa.

Estou readaptando os meus arquivos à sugestão.

Grato pela ajuda.

Abraços

Rafael escreveu:Henry,

Uma sugestão sem complicar seria simplesmente deixar todas as planilhas que tem os forms numa pasta em um determinado computador, o administrador por exemplo, aí você pode criar atalhos dessas planilhas para cada computador usando um planilha por computador. ;)
Henry-Systems
 
Mensagens: 87
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: São Paulo
Agradecimentos dados: 18 vezes
Agradecimentos recebidos: 7 vezes

Anúncios


Voltar para Geral

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes