Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Compartilhar Excel com Macro via rede urgente - resolvido

Dúvidas gerais sobre Excel
Henry-Systems
Colaborador
Colaborador
Mensagens: 96
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: Rio Grande da Serra - São Paulo
Contato:

Compartilhar Excel com Macro via rede urgente - resolvido

Mensagem por Henry-Systems »

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 718 vezes
Editado pela última vez por Henry-Systems em Dom Set 02, 2012 3:24 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Rafael Monteiro
Consultor
Consultor
Mensagens: 277
Registrado em: Seg Nov 28, 2011 8:27 am
Localização: Sorocaba - SP
Contato:

Re: Compartilhar Excel com Macro via rede urgente

Mensagem por Rafael Monteiro »

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 2171 vezes


Henry-Systems
Colaborador
Colaborador
Mensagens: 96
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: Rio Grande da Serra - São Paulo
Contato:

Re: Compartilhar Excel com Macro via rede urgente

Mensagem por Henry-Systems »

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
Colaborador
Colaborador
Mensagens: 96
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: Rio Grande da Serra - São Paulo
Contato:

Re: Compartilhar Excel com Macro via rede urgente

Mensagem por Henry-Systems »

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.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Rafael Monteiro
Consultor
Consultor
Mensagens: 277
Registrado em: Seg Nov 28, 2011 8:27 am
Localização: Sorocaba - SP
Contato:

Re: Compartilhar Excel com Macro via rede urgente

Mensagem por Rafael Monteiro »

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. ;)


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Compartilhar Excel com Macro via rede urgente

Mensagem por Mikel Silveira Fraga »

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.


Henry-Systems
Colaborador
Colaborador
Mensagens: 96
Registrado em: Sáb Nov 26, 2011 1:05 pm
Localização: Rio Grande da Serra - São Paulo
Contato:

Re: Compartilhar Excel com Macro via rede urgente

Mensagem por Henry-Systems »

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. ;)


Leandrocast
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sex Mar 22, 2019 2:11 pm

Re: Compartilhar Excel com Macro via rede urgente - resolvido

Mensagem por Leandrocast »

Olá, Tomás!

Vi uma contribuição com uma planilha de Modelo de aplicativo de Cadastro em VBA no Microsoft Excel. Achei um incrível trabalho, mas gostaria de tirar uma dúvida rápida, se me permitir.

O aplicativo, entre outras coisas, gera uma página de pesquisa. Essa pagina apresenta várias colunas numa list que ele tira de outra planilha de banco de dados. Eu precisava aumentar o tamanha de uma coluna específica, saberia me dizer como fazê-lo?

Muito obrigado


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder