Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
[RESOLVIDO]Fazer imagem de um formulario
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
[RESOLVIDO]Fazer imagem de um formulario
Olá Pessoal!
preciso criar a imagem de um formulário.
Tenho uma rotina de gerar um relatório e copiar o resultado do formulário com a "ferramenta de captura" do win7 para o whatsapp.
Consegui uma maneira de interagir o excel com whats, mas preciso criar automaticamente uma imagem do Form e estou pensando como...
Poderiam me ajudar mais uma vez?
Obrigado!
Abs
preciso criar a imagem de um formulário.
Tenho uma rotina de gerar um relatório e copiar o resultado do formulário com a "ferramenta de captura" do win7 para o whatsapp.
Consegui uma maneira de interagir o excel com whats, mas preciso criar automaticamente uma imagem do Form e estou pensando como...
Poderiam me ajudar mais uma vez?
Obrigado!
Abs
Editado pela última vez por Wagner.cwb em Qua Jul 19, 2017 10:19 pm, em um total de 1 vez.
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: Fazer imagem de um formulario
Encontrei neste post algo que quase chega lá
viewtopic.php?f=20&t=1375&p=7966&hilit= ... ario#p7966
Ele exporta a imagem que já esta no formulário, no caso eu preciso exportar todo o formulário para imagem, digo os dados de todos os campos, inclusive a imagem presente nele, exatamente como esta na imagem em anexo.
viewtopic.php?f=20&t=1375&p=7966&hilit= ... ario#p7966
Ele exporta a imagem que já esta no formulário, no caso eu preciso exportar todo o formulário para imagem, digo os dados de todos os campos, inclusive a imagem presente nele, exatamente como esta na imagem em anexo.
- Anexos
-
- rotina1.PNG (205.71 KiB) Exibido 9526 vezes
Re: Fazer imagem de um formulario
Bom dia Wagner, tudo bem?
Acho que posso te ajudar! É só fazer a captura da tela, via VBA, simulando o CTRL + ALT + PrintScreen, que vai capturar somente a janela ativa, no caso, teu formulário exatamente como ele estiver. No momento não tenho acesso ao meu notebook, mas posto o código para vocẽ à noite, se te ajudar.
Um abraço!
Acho que posso te ajudar! É só fazer a captura da tela, via VBA, simulando o CTRL + ALT + PrintScreen, que vai capturar somente a janela ativa, no caso, teu formulário exatamente como ele estiver. No momento não tenho acesso ao meu notebook, mas posto o código para vocẽ à noite, se te ajudar.
Um abraço!
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: Fazer imagem de um formulario
Olá amigo!
tentei algo semelhante, mas saiu a tela toda, mas é uma opção.
Bom, pesquisei algumas outras alternativas, uma delas é o comando "PrintForm" ele imprime em formato pdf.
Mas não investi... vou ter que criar um outro passo para converter o pdf em imagem...
Então "clonei" o form para as células de uma planilha e transformei a seleção em imagem, porém agora estou apanhando para criar uma variável desta tal imagem.
Segue os passos:
download/file.php?mode=view&id=4096
1º. Aqui editei os dados em uma planilha - com a aparência de um form
2º. Com o script gerei a imagem da seleção - clone form.
Até aqui perfeito...
Agora preciso selecionar esta imagem e fazer dela uma variável.
Estou tentando assim:
Não consigo enviar a cópia desta imagem via variável...
tentei algo semelhante, mas saiu a tela toda, mas é uma opção.
Bom, pesquisei algumas outras alternativas, uma delas é o comando "PrintForm" ele imprime em formato pdf.
Mas não investi... vou ter que criar um outro passo para converter o pdf em imagem...
Então "clonei" o form para as células de uma planilha e transformei a seleção em imagem, porém agora estou apanhando para criar uma variável desta tal imagem.
Segue os passos:
download/file.php?mode=view&id=4096
1º. Aqui editei os dados em uma planilha - com a aparência de um form
2º. Com o script gerei a imagem da seleção - clone form.
Código: Selecionar todos
Dim rng As Range
Dim ws As Worksheet
Dim cht As ChartObject
Set ws = ActiveSheet
'Copia range como imagem para Área de Transferência
With ws
Set rng = .Range("S2:X31")
rng.CopyPicture xlScreen, xlBitmap
End With
Range("Z2").Activate 'local imagem na planilha
ActiveSheet.Paste
Agora preciso selecionar esta imagem e fazer dela uma variável.
Estou tentando assim:
Código: Selecionar todos
For Each img In ActiveSheet.Shapes
If Not Application.Intersect(img.TopLeftCell, ActiveSheet.Range("Z1:AF32")) Is Nothing Then 'onde esta a figura
Debug.Print img.name
img.CopyPicture xlScreen, xlBitmap
End If
Next img
- Anexos
-
- clone.PNG (152.75 KiB) Exibido 9491 vezes
Re: Fazer imagem de um formulario
Amigão, te mando o código abaixo:
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub
Cola tudo num novo módulo.
Essa função captura somente a JANELA ativa, cria um botão no form pra chamar a Sub e depois é só colar (ctrl + v) onde tu quer.
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub
Cola tudo num novo módulo.
Essa função captura somente a JANELA ativa, cria um botão no form pra chamar a Sub e depois é só colar (ctrl + v) onde tu quer.
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: Fazer imagem de um formulario
Boa noite amigo!
Hoje consegui testar, funcionou perfeitamente!
Ele copia somente o form ativo.
Obrigado por compartilhar a função, bem enxuta e funcional.
Abraços!
Hoje consegui testar, funcionou perfeitamente!
Ele copia somente o form ativo.
Obrigado por compartilhar a função, bem enxuta e funcional.
Abraços!
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: [RESOLVIDO]Fazer imagem de um formulario
Só tem um detalhe...
quando eu executo ele isolado (Botão só com o seu código), copia apenas o form, mas quando associei ele com outro código, ele passa a printar toda a tela do excel... com certeza é questão de ajuste da minha parte, pois o código funciona.
Por exemplo:
Tentei copiar a imagem na planilha
Assim ele copia todo o fundo da planilha, não somente o form.
Eu tentei colar um temporizador "fazer (8000)", nada, mudeu para 3s e ficou tudo cinza rs
Mas estou que nem o Vitor Belford, levando porrada, mas não desisto kkk
quando eu executo ele isolado (Botão só com o seu código), copia apenas o form, mas quando associei ele com outro código, ele passa a printar toda a tela do excel... com certeza é questão de ajuste da minha parte, pois o código funciona.
Por exemplo:
Tentei copiar a imagem na planilha
Código: Selecionar todos
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
'termina seu código e exporta a imagem para planilha
Worksheets(5).Activate
Range("Z2").Activate
ActiveSheet.Paste
End Sub
Eu tentei colar um temporizador "fazer (8000)", nada, mudeu para 3s e ficou tudo cinza rs
Mas estou que nem o Vitor Belford, levando porrada, mas não desisto kkk
Re: [RESOLVIDO]Fazer imagem de um formulario
É isso aí meu amigo!
O crescimento se dá quando nos interessamos em aprender e descobrir como as coisas funcionam.
O caminho está dado e atente a tua necessidade imediata. Caso tu não consigas resolver sozinho eu volto para tentar te ajudar.
Grande abraço!
O crescimento se dá quando nos interessamos em aprender e descobrir como as coisas funcionam.
O caminho está dado e atente a tua necessidade imediata. Caso tu não consigas resolver sozinho eu volto para tentar te ajudar.
Grande abraço!
-
- Manda bem
- Mensagens: 168
- Registrado em: Sáb Set 24, 2016 4:48 pm
Re: [RESOLVIDO]Fazer imagem de um formulario
Agora resolvido de vez
Inclui no código o comando
Call Application.OnTime(Now + TimeValue("00:00:03"), "Enviar_Whatsapp")
Passou a funcionar como eu esperava... 3 segundos entre as macros resolveu, não sei se é a solução padrão rs
ficou assim no final:
Deixo aqui caso alguém tenha a mesma dificuldade.
Obrigado pela solução amigo!
Abs
Inclui no código o comando
Call Application.OnTime(Now + TimeValue("00:00:03"), "Enviar_Whatsapp")
Passou a funcionar como eu esperava... 3 segundos entre as macros resolveu, não sei se é a solução padrão rs
ficou assim no final:
Código: Selecionar todos
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
Call Application.OnTime(Now + TimeValue("00:00:03"), "Enviar_Whatsapp")
'
Obrigado pela solução amigo!
Abs