Notifications
Clear all

Relatório em PDF e restringir tela cheia a uma Pasta

21 Posts
3 Usuários
0 Reactions
2,795 Visualizações
(@eraldofer)
Posts: 70
Trusted Member
Topic starter
 

Bom Dia,

Estou iniciando meu estudos com VBA, já fiz algumas coisas, montei alguns códigos baseados em outras planilhas e tópicos que achei navegando por ai, faço analise fiscal de uma clinica e montei um pasta que relaciona as notas fiscais emitidas mensalmente, logo, tenho uma planilha para para cada mês do ano vigente uma planilha com notas fiscais pendentes do ano anterior, partindo dai tenho uma planilha que unifica todas as notas fiscais montando um banco de dados único.
Nesta Pasta tem uma formulário de loguin, opção de cadastro de um novo usuário, e o controle de acesso que grava data hora loguin e senha de quem acessou em ordem cronológica. Ainda conta com funções como (Relatório Dinâmico, Apuração de Impostos Mensal(PIS,COFINS,ISS) e trimestral(IRRF e CSLL), banco de dados de convênios e retenção por convênio, controle de contas a receber, uma guia Dashboard. O que quero primeiramente e deixar o código mais limpo possível pois foi meu primeiro trabalho envolvendo VBA e tirar algumas duvidas como segue:
1º Ao abrir a planilha ela fica em tela cheia, mas essa aplicação se estende a todos as pastas de trabalho abertas do excel eu gostaria que ficasse exclusiva para esta pasta não afetando outros documentos excel abertos;
2º quero criar um formulário para o lançamento das notas fiscais, mas como posso fazer com que o formulário grave os dados na planilha correta, exemplo nota fiscal emitida em janeiro grava na sheet Janeiro e se a data de emissão for Fevereiro grava na sheet Feverreiro.
3º E possivel esconder a aplicação excel de forma que eu trabalhe apenas com os formulários e painel de opções e ainda gerar relatórios dinamicos?
4º Como faço para uma planilha seja aberta em PDF justamente para impressão?

Desde já agradeço com a atenção dispensada, aprendi excel sem curso e comecei a fazer pequenos trabalhos para minha empresa, hoje me solicitam trabalhos com alto grau de complexidade o que acho bom pois me obriga a aprender ainda mais, gostaria de poder contar com a ajuda do fórum, enviarei a planilha por email para os interessados em darem uma olhada pois por aqui não dá o arquivo é muito grande.

 
Postado : 23/07/2016 11:45 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Boa tarde EraldoFer.
Para deixar de afetar as demais pastas de trabalho, adicione a instrução "Application.DisplayFullScreen = False" no método "workbook_deactivate
Para salvar na sheet correta vc pode fazer um select case e especificar no form uma condição de mês que será lida e encontrada a sheet correta dentro do select case.
Para esconder a aplicação durante a execução, vc pode utilizar a instrução application.visible = false
Vc pode usar a instrução planilha_tal.ExportAsFixedFormat type:=xlTypePDF.... que salvará uma cópia em pdf no seu computador para impressão posterior ou o método planilha_tal.printout para mandar direto para a impressora
Enfim.... são muitas as possibilidades mas para que consiga colaboração no fórum, anexar a planilha é fundamental

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 23/07/2016 12:35 pm
(@eraldofer)
Posts: 70
Trusted Member
Topic starter
 

Boa tarde EraldoFer.
Para deixar de afetar as demais pastas de trabalho, adicione a instrução "Application.DisplayFullScreen = False" no método "workbook_deactivate
Para salvar na sheet correta vc pode fazer um select case e especificar no form uma condição de mês que será lida e encontrada a sheet correta dentro do select case.
Para esconder a aplicação durante a execução, vc pode utilizar a instrução application.visible = false
Vc pode usar a instrução planilha_tal.ExportAsFixedFormat type:=xlTypePDF.... que salvará uma cópia em pdf no seu computador para impressão posterior ou o método planilha_tal.printout para mandar direto para a impressora
Enfim.... são muitas as possibilidades mas para que consiga colaboração no fórum, anexar a planilha é fundamental

Amigo,

Boa Tarde,
Segue em anexo a planilha consegui reduzi-la,
A senha para abertura é LOGUIN: ADMIN E SENHA: ADMIN
A senha do codigo VBA é 962355600

Como falei sou novo no assunto nesse caso eu sei select case é um botão de seleção, mas como monto a rotina?
A instrução application.visible = false eu ja uso na minha tela de loguin, mas por exemplo se eu coloca entre os formulários que criarei, e usar essa instrução mesmo estando oculta ela fará o salvamento dos dados de cada formulário em seu respectivo banco de dados?

É possivel criar uma instrução que abra em pdf a sheet especifica não precisa necessariamente criar o arquivo pdf, basta abrir no formato.

Se possivel da uma olhada nos códigos desenvolvidos.

Obrigado!!

 
Postado : 23/07/2016 1:09 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde EraldoFer

Seja bem-vindo ao fórum!

Como você é novo no fórum, para facilitar a tua participação, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

[]s
Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/07/2016 1:13 pm
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Boa noite EraldoFer.
Veja o exemplo em anexo.
Os códigos são de fácil entendimento.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 23/07/2016 7:00 pm
(@eraldofer)
Posts: 70
Trusted Member
Topic starter
 

Amigo,

Dei uma olhada no seus codigos, e entendi na teoria como montar o case.
Dá uma olhada na que enviei e verifica se for possível o que pode ser melhorado.
Agora com relação ao PDF e possivel que ao click do botão ele pegue a sheet e abra em pdf (quero criar um sistema onde os relatorios sejam criados em pdf, vide que manterei a aplicação a maior parte do tempo oculta.

Desde já agradeço!!!

 
Postado : 24/07/2016 9:22 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Boa tarde EraldoFer.
No anexo anterior eu não utilizei o select case, utilizei um loop for next para preencher os nomes das plans.
Nesse anexo que envio nessa mensagem, utilizo a mesma técnica do loop for next e apresento uma alternativa para gerar os relatórios em pdf.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 24/07/2016 10:33 am
(@eraldofer)
Posts: 70
Trusted Member
Topic starter
 

O Relatorio em PDF não funcionou.
Duvida,quando abro a pasta de trabalho antes de chamar a tela de loguin ele inicia a aplicação excel, teria como ocultar esse processo de forma que em vez de abrir a aplicação excel primeiro abra direto na tela de loguin, dando assim uma cara mais profissional a pasta?

 
Postado : 24/07/2016 11:44 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Um ponto a observar...
Não vai funcionar se a planilha estiver oculta (observei que vc utiliza o método veryhidden para mantê-las ocultas. Vc deve adaptar a rotina para reexibir a plan antes de gerar o relatório e depois ocultá-la novamente (se assim desejar).
O anexo serve para te nortear sobre o funcionamento da rotina.
Vc pode criar um botão no userform de login ou de cadastro(onde achar mais conveniente) que chama um userform semelhante ao que eu fiz no exemplo e, a partir dele, gera os relatórios (reexibindo as planilhas antes, claro).
Não importa se a aplicação(excel estiver oculto) mas se a planilha estiver oculta não vai gerar mesmo...
Aqui eu testei com a aplicação oculta e gerou 100%

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 24/07/2016 12:34 pm
(@eraldofer)
Posts: 70
Trusted Member
Topic starter
 

Compreendi,
O que não funcionou aqui foi o exemplo enviado, mas vou dar uma olhada com calma.
Quanto ao código da aplicação que eu enviei esta exagerado ou excessivo?
Enquanto mantenha aplicação Excel oculta o ícone da barra de tarefas também some, e possível que o ícone fique na barra e ainda assim mantenha a aplicação oculta?
Desde já agradeço.

 
Postado : 24/07/2016 1:42 pm
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Estranho, pois aqui eu tenho o icone do excel também na barra de acesso rápido e ele não some não.
Com relação ao seu código, me parece muito bom para quem diz que está começando.
No inicio é sempre assim....abusamos do gravador de macros e acredite.... dá pra aprender muita coisa com ele.
A unica diferença que eu percebi é que algumas coisas não rodaram direito no meu pc pois uso windows X64 e tem algumas instruções no seu projeto que foram compiladas exclusivamente para o office x86.
Mas no caso do exemplo que te enviei para relatório pdf, não usei nada que não fosse compativel com seu sistema x86.
Tente ir nas propriedades do arquivo(botão direto do mouse) e, provavelmente ele estará bloqueado por ter sido baixado da internet.....cllique em desbloquear e aplique.
Abra novamente e veja se consegue produzir os relatórios....Lembre-se que vc deve selecionar na listbox um nome de planilha ( plan1,plan2,plan3 ou plan4) e depois clicar no botão de gerar relatório....

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 24/07/2016 2:00 pm
(@eraldofer)
Posts: 70
Trusted Member
Topic starter
 

Não amigo,
Não é o icone da barra de acesso rapído,
E o icone do excel na barra de tarefas do windows,
Quanto ao codigo a bem verdade e que não entendo muito de VBA nem mesmo de programação, mas este projeto foi feito reunindo e procurando a solução para cada dificuldade que tive, claro que os codigos foram modificados para minha necessidade mas em sua maioria fora outras pessoas que fizeram um exemplo e eu adpatei, assim como você fez para me ajudar.
Já procurei um curso de VBA, mas onde moro não encontrei.
Fiz um teste aqui em outra maquina e também não funcionou lembrando que uso office 2007.

 
Postado : 24/07/2016 6:10 pm
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Tá explicado o porque não funfou.... vc precisa instalar um suplemento para o 2007....Eu uso o 2013. Desculpe....eu devia ter perguntado...
Segue o link...
https://www.microsoft.com/pt-br/downloa ... .aspx?id=7

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 24/07/2016 6:39 pm
(@eraldofer)
Posts: 70
Trusted Member
Topic starter
 

Amigo,
Baixei o suplemento e ele funcionou
Gerando assim o pdf, agora posso adaptar as instruções ao meu projeto, restando apenas uma ultima duvida:
Na minha pasta e composta por 24 planilhas no formulário que vc me enviou ele relaciona todas as planilhas da pasta, no entanto eu não quero que ele relacione todas quero que ela relacione apenas as planilhas de meses, no caso o interessante seria eu definir as planilhas que aparecerão.
É possivel?
E sobre o ícone da barra de tarefas é possível fazer alguma coisa?

Desde já agradeço!!!

 
Postado : 25/07/2016 8:45 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Boa tarde.
No evento activate do userform, onde vc viu que eu usei um loop for each para preencher os nomes na lisbox, tire-o e faça assim:
Private Sub UserForm_Activate()

Me.ListBox1.AddItem Plan11.Name 'substitua essas instruções pelos codenames das planilhas que deseja exibir
Me.ListBox1.AddItem Plan15.Name
Me.ListBox1.AddItem Plan14.Name
Me.ListBox1.AddItem Plan8.Name

End Sub

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 25/07/2016 10:27 am
Página 1 / 2