locked
Imagens inseridas via VBA excel estão ficando como vinculadas RRS feed

  • Pergunta

  • Boa noite,

    Estou com problema de inserir imagens e elas estão ficando como vinculadas pois ao enviar a planilhas com as imagens inseridas via macro (VBA excel 2013) as imagens não aparecem e aparece erro de imagem vinculada.

    codigo para inserção da foto

    ActiveSheet.Pictures.Insert("D:\PREVENTIVAS RF\Fotos\teste.JPG").Select

    Erro da imagem vinculada 

    Alguem pode me ajudar

    muito obrigado

    sexta-feira, 17 de abril de 2015 00:10

Respostas

  • Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Troque:

    ActiveSheet.Pictures.Insert(arqAAbrir).Select

    por:

    ActiveSheet.Shapes.AddPicture arqAAbrir, False, True, 1, 1, -1, -1


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 23 de setembro de 2015 00:26
    Moderador
  • ActiveSheet.Shapes.AddPicture "D:\PREVENTIVAS RF\Fotos\teste.JPG", False, True, 1, 1, -1, -1


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 17 de abril de 2015 17:34
    Moderador

Todas as Respostas

  • ActiveSheet.Shapes.AddPicture "D:\PREVENTIVAS RF\Fotos\teste.JPG", False, True, 1, 1, -1, -1


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 17 de abril de 2015 17:34
    Moderador
  • Deu certo !!!!! muito obrigado
    sexta-feira, 17 de abril de 2015 18:26
  • Estou com o mesmo problema, porém utilizo algumas instruções em vba para carregar as imagens e depois copiar as imagens e o restante do conteúdo para uma nova planilha e não entendi onde posso usar esta forma dada pelo moderador.

    Segue abaixo os códigos utilizados por mim:

     'Instrução para carregar imagens para o formulário  

    Sub Macro4(control As IRibbonControl)
    Dim arqAAbrir

        arqAAbrir = Application.GetOpenFilename("Arquivos de imagens (*.jpg;*.bmp;*.wmf), *.txt,*.bmp,*.wmf")
        If arqAAbrir <> False Then
        ActiveSheet.Pictures.Insert(arqAAbrir).Select

        End If
    End Sub

    'Código para salvar em nova planilha os dados da original    

    Sub NovoPlano()
    Application.ScreenUpdating = False

    Dim CurrentSheet As Worksheet
    Dim NovoNome As String

    nomeb2 = InputBox("Digite o Nome do Relatório", "Salvar Relatório")
        Set CurrentSheet = ActiveSheet
    On Error Resume Next
        If nomeb2 = "" Then
        MsgBox ("Salvamento Cancelado!!!"), , ("Abortar Salvamento")
    Exit Sub
    End If
        Range("B1:R140").Select
                Selection.Copy
                     Set wkb = Workbooks.Add
                        Range("B1").Select
                            ActiveSheet.Paste
                                Columns("B:B").ColumnWidth = 19.43
                                    Columns("C:C").ColumnWidth = 24.14
                                Columns("D:R").ColumnWidth = 7
                            Rows("9:134").Select
                        Selection.RowHeight = 25
                    Rows("135:140").Select
                Selection.RowHeight = 12

    ActiveWindow.DisplayGridlines = False

    NovoNome = nomeb2

    'Enibe a mensagem se a pasta já existir
    'Com essa instrução a Pasta será substiutida sem questionamento
    Application.DisplayAlerts = False

    'Salva a Nova Pasta no Diretorio abaixo com o mesmo Nome
    'Alterem o mesmo conforme o endereço que querem
    wkb.SaveAs Filename:="C:\Users\User\Desktop\" & NovoNome & ".xlsm", _
    FileFormat:=xlWorkbookMacroEnabled, CreateBackup:=False

    Application.ScreenUpdating = True
    End Sub

    Obrigado e aguardo um auxilio.

    terça-feira, 22 de setembro de 2015 23:37
  • Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    Troque:

    ActiveSheet.Pictures.Insert(arqAAbrir).Select

    por:

    ActiveSheet.Shapes.AddPicture arqAAbrir, False, True, 1, 1, -1, -1


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 23 de setembro de 2015 00:26
    Moderador