Ir ao conteúdo

Posts recomendados

Postado

Boa Noite!

Esta é macro que pesquisei na internet, realizei algumas mudanças, mas não esta funcionando para eu tirar uma foto com minha webcam e salva-la em meu Pc. Depois queria exibir a foto na minha Userform dentro do campo Imagem. isso usando um botão para disparar essa Macro. Como podem me ajudar?

Sem título.png

  • Curtir 1
Postado

@Gilberto Moreira    ainda não sei programar em vba , mas parece um erro aqui nesse loop , onde você colocou para repetir cinco v ezes

Private Sub BtnFotoWebcam_Click()
  Dim CaminhoFoto, Atrasar
  Dim ProgramaFoto
  'CaminhoFoto = "C:\Users\StarForch\Pictures\" & TxtNomedoVisitante.Value & ".bmp"
  CaminhFoto = "C:\Users\StarForch\Pictures\" & TxtNomedoVisitante.Value & ".bmp"
  ProgramaFoto = shell("C:\Users\StarForch\Pictures\CommandCam.exe",vbMide) & Filename & CaminhoFoto
  '" shell("C:\Users\StarForch\Pictures\CommandCam.exe"/filename """CaminhoFoto" & "",vbMide)
  For Atrasar = 0 To 5
    Application.Wait(Now + TimeValue("00:00:01") )
  Next
  ImageFotoVisitante.Picture = Nothing
  'ImageFotoVisitante.Picture = LoadPicture(CaminhoFoto)
  ImageFotoVisitante.Picture = LoadPicture(CaminhoFoto)
End Sub
  

 

Postado

Obrigado @devair1010 , mas acredito que estaja acusando este erro em sua máquina pois cada webcam tem um time para disparar as fotos. Sendo assim este temporizador de 0 à 5 é para minha máquina, aí a sua não teve ser o mesmo ajuste, tendo que realizar um ajuste para a sua webcam. Mas agradeço muito a atenção e o empenho em me ajudar nesta dúvida, pois, quando resolver irá me ajudar muito!🙏🏻🙏🏻🙏🏻

 

Grato!

  • Obrigado 1
Postado

@Gilberto Moreira Shell é uma função para rodar um programa executável da mesma forma que faria com duplo clique no Explorer ou via linha de comando/prompt.

 

O programa CommandCam.exe existe? E se existe basta executar assim para salvar a imagem?

 

Na atribuição de ProgramaFoto você concatenou Shell com duas variáveis aparentemente com o caminho da imagem. Porém essa função não retorna nada relacionado ao caminho do arquivo.

  • Obrigado 1
  • Amei 1
Postado

@Midori Boa noite! Que bacana sua visão! Certo! Em relação ao CommandCam até estava usando ele mas estava apresentando falhas em realizar este procedimento que identificou sobre concatenar e retornar a imagem ao objeto do Userform. Bom aproveitando seu conhecimento e visão, vamos ver se seria possível me ajudar no que eu quero! Ex: da Sub desejada:

 

Sub BtnFotoWebcam_Click()

 

'Dimensionar as variáveis'''''''''''''''''''''''''''''''''''''''''''''''''''

Dim CaminhoFoto, Atrasar Dim ProgramaFoto

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'Setar ou fazer as Variáveis receberem os Valores de caminhos e arquivos de disparo de foto da webcam(Pode ser o arquivo de Engrenagem que ativa a função de disparo da Foto da Webcam)''''''''Concatenar Valor(Nome do Visitante) da Textbox com Filename salvando em pasta de imagens e retornando a foto tirada da webcam no objeto imagem do Userform.

CaminhFoto = "C:\Users\StarForch\Pictures\" & TxtNomedoVisitante.Value & ".bmp" ProgramaFoto = shell("C:\Users\StarForch\Pictures\CommandCam.exe",vbMide) & Filename & CaminhoFoto '" shell("C:\Users\StarForch\Pictures\CommandCam.exe"/filename """CaminhoFoto" & "",vbMide)

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"

For Atrasar = 0 To 5

Application.Wait(Now + TimeValue("00:00:01") )

Next ImageFotoVisitante.Picture = Nothing

'ImageFotoVisitante.Picture = LoadPicture(CaminhoFoto)

ImageFotoVisitante.Picture = LoadPicture(CaminhoFoto)

 

End Sub

 

Tentei de várias formas assistindo vídeos na internet mas não consegui realizar todos estes parametros. Ou só tirava a foto e salvava ou só retornava a imagem no objeto imagem do Userform.😞

  • Curtir 1
Postado

@Gilberto Moreira Seu código espera o controle TxtNomedoVisitante (TextBox) para a entrada do nome da imagem, porém seu fórmulário só tem um botão e aparentemente um controle Image.

 

Entes de colocar mais controles, teste da forma mais simples só com Image1 e CommandButton1. Então abra uma planilha em branco, crie outro fórmulário e adicione esses dois controles (Não modifique os nomes). Deixei o nome da imagem como Teste.bmp para a macro procurar no diretório C:\Users\StarForch\Pictures, mas se quiser outro é só modificar.

 

Antes de rodar você pode comentar a linha do Shell e salvar uma imagem bmp manualmente direto pelo programa e depois executar o formulário e clicar no botão para ver que a imagem será carregada. Assim saberá que o forumulário está carregando a imagem corretamente. Depois apague e imagem do diretório e tire o comentário da linha do Shell.

 

Private Sub CommandButton1_Click()
    Const DIRETORIO As String = "C:\Users\StarForch\Pictures\"
    Dim CaminhoFoto As String
    Dim NomeFoto    As String
    
    NomeFoto = "Teste.bmp"
    CaminhoFoto = DIRETORIO & NomeFoto
    
    Call Shell(DIRETORIO & "CommandCam.exe /filename " & NomeFoto, vbHide)
    Call Application.Wait(Now + TimeValue("00:00:05"))
 
    Image1.Picture = LoadPicture(CaminhoFoto)
End Sub

 

  • Curtir 1
Postado
1 hora atrás, Midori disse:

@Gilberto Moreira Seu código espera o controle TxtNomedoVisitante (TextBox) para a entrada do nome da imagem, porém seu fórmulário só tem um botão e aparentemente um controle Image.

 

Entes de colocar mais controles, teste da forma mais simples só com Image1 e CommandButton1. Então abra uma planilha em branco, crie outro fórmulário e adicione esses dois controles (Não modifique os nomes). Deixei o nome da imagem como Teste.bmp para a macro procurar no diretório C:\Users\StarForch\Pictures, mas se quiser outro é só modificar.

 

Antes de rodar você pode comentar a linha do Shell e salvar uma imagem bmp manualmente direto pelo programa e depois executar o formulário e clicar no botão para ver que a imagem será carregada. Assim saberá que o forumulário está carregando a imagem corretamente. Depois apague e imagem do diretório e tire o comentário da linha do Shell.

 

Private Sub CommandButton1_Click()
    Const DIRETORIO As String = "C:\Users\StarForch\Pictures\"
    Dim CaminhoFoto As String
    Dim NomeFoto    As String
    
    NomeFoto = "Teste.bmp"
    CaminhoFoto = DIRETORIO & NomeFoto
    
    Call Shell(DIRETORIO & "CommandCam.exe /filename " & NomeFoto, vbHide)
    Call Application.Wait(Now + TimeValue("00:00:05"))
 
    Image1.Picture = LoadPicture(CaminhoFoto)
End Sub

 

@Midori Vi que você mencionou sobre meu userform mas, acabei colocando um de Exemplo😔 na vdd não é o que eu desenvolvi para ser usado com a macro. Coloquei ele só de Exemplo mesmo. Mas irei fazer o q me pediu. Pois não é uma má ideia. Logo retorno com notícias kkkk! Muito obrigado!🙏🏻

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...