none
Salvar uma imagem do controle de imagem. RRS feed

  • Pergunta

  • Senhores, boa noite!!

    Tenho um Form com um controle de imagem que está carregando a foto certinho, minha dúvida é como salvar esta imagem que está aberta no controle de imagem em uma pasta, um exemplo é quando eu clicar em salvar, esta imagem é salva em uma pasta que está no cógido c:/Fotos, segue o Código:

    Private Sub CommandButton1_Click()
    Call Carrega_Imagem
    End Sub

    Sub Carrega_Imagem()

    On Error Resume Next

    Dim endereco As String

    endereco = Application.GetOpenFilename(, , "Selecione a Imagem do Produto")
    If endereco = "" Then
        Image1.Picture = LoadPicture()
            Else
            Image1.Picture = LoadPicture(endereco)
    End If

    TextBox1.Value = endereco

    End Sub

    Private Sub Salvar_Click()

    Aqui entraria o código com o salvamento do Path automatico.

    End Sub

     


    sábado, 28 de maio de 2011 21:22

Respostas

  • Olá Adriano boa noite,

    No algoritmo que fiz para você temos o seguinte cenário:

    2 CommandButtons: cmdSelecionarImagem e cmdSalvar

    2 TextBox: Textbox1 (Armazena o endereço da imagem selecionada) e TextBox2 (Onde você deve digitar o local de destino da imagem, ex. C:\Temp)

    1 Objeto de Imagem: Image1

    Monte um formulário com estes itens e com estes nomes, copie e cole este código no código de seu FORM

    Segue a solução:

    Private Sub cmdSelecionarImagem_Click()
    Call Carrega_Imagem
    End Sub

    Sub Carrega_Imagem()
    On Error Resume Next
    Dim endereco As String
    endereco = Application.GetOpenFilename(, , "Selecione a Imagem do Produto")
    If endereco = "" Then
        Image1.Picture = LoadPicture()
            Else
            Image1.Picture = LoadPicture(endereco)
    End If
    TextBox1.Value = endereco
    End Sub

    Sub CopyFile()
    Dim fso
    Dim sfol As String, dfol As String
    sfol = TextBox1.Value
    dfol = TextBox2.Value
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FileExists(TextBox1.Value) Then
        MsgBox TextBox1.Value & " does not exist!", vbExclamation, "Source File Missing"
    ElseIf Not fso.FileExists(dfol) Then
        fso.CopyFile (TextBox1.Value), dfol & "\", True
    Else
        MsgBox TextBox1.Value & " already exists!", vbExclamation, "Destination File Exists"
    End If
    End Sub

    Private Sub cmdSalvar_Click()
    CopyFile
    End Sub

     

    Espero ter ajudado, se sim, por favor marcar como resposta.

    Abraços,


    Carlos Carvalho Citrangulo Junior
    Microsoft Certified Professional
    Microsoft Certified Desktop Support Technician
    MCTS Microsoft Windows Vista Configuration
    MCITP Enterprise Support Technician
    Profissional 5 Estrelas Microsoft
    http://carloscitrangulo.wordpress.com
    domingo, 29 de maio de 2011 01:19

Todas as Respostas

  • Você terá que utilizar algumas chamadas APIs para copiar os controles de imagem à área de transferência.

    Aqui há um exemplo:

    http://www.ambienteoffice.com.br/officevba/salvar_imagem_de_formulario_numa_pasta/


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    domingo, 29 de maio de 2011 01:14
    Moderador
  • Olá Adriano boa noite,

    No algoritmo que fiz para você temos o seguinte cenário:

    2 CommandButtons: cmdSelecionarImagem e cmdSalvar

    2 TextBox: Textbox1 (Armazena o endereço da imagem selecionada) e TextBox2 (Onde você deve digitar o local de destino da imagem, ex. C:\Temp)

    1 Objeto de Imagem: Image1

    Monte um formulário com estes itens e com estes nomes, copie e cole este código no código de seu FORM

    Segue a solução:

    Private Sub cmdSelecionarImagem_Click()
    Call Carrega_Imagem
    End Sub

    Sub Carrega_Imagem()
    On Error Resume Next
    Dim endereco As String
    endereco = Application.GetOpenFilename(, , "Selecione a Imagem do Produto")
    If endereco = "" Then
        Image1.Picture = LoadPicture()
            Else
            Image1.Picture = LoadPicture(endereco)
    End If
    TextBox1.Value = endereco
    End Sub

    Sub CopyFile()
    Dim fso
    Dim sfol As String, dfol As String
    sfol = TextBox1.Value
    dfol = TextBox2.Value
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FileExists(TextBox1.Value) Then
        MsgBox TextBox1.Value & " does not exist!", vbExclamation, "Source File Missing"
    ElseIf Not fso.FileExists(dfol) Then
        fso.CopyFile (TextBox1.Value), dfol & "\", True
    Else
        MsgBox TextBox1.Value & " already exists!", vbExclamation, "Destination File Exists"
    End If
    End Sub

    Private Sub cmdSalvar_Click()
    CopyFile
    End Sub

     

    Espero ter ajudado, se sim, por favor marcar como resposta.

    Abraços,


    Carlos Carvalho Citrangulo Junior
    Microsoft Certified Professional
    Microsoft Certified Desktop Support Technician
    MCTS Microsoft Windows Vista Configuration
    MCITP Enterprise Support Technician
    Profissional 5 Estrelas Microsoft
    http://carloscitrangulo.wordpress.com
    domingo, 29 de maio de 2011 01:19
  • Benzadeus e Carlos,  muito obrigado pela ajuda, testei os 2 jeitos aqui e foram mto válidos aqui para mim, ficou perfeito, pessoas como vcs que fazem este site ficar mto bom de tirar dúvidas.

    Obrigado

    domingo, 29 de maio de 2011 14:23