none
Erro em tempo de execução '1004' Não possivel obter s propriedade Insert da classe Pictures RRS feed

  • Pergunta

  • ' Coluna A contém as url das figuras que quero adicionar.
    ' Funciona apenas na primeira linha. Insere a figura corretamente, na segunda linha da o erro.
    'Outro ponto, funciona só na primeira vez que abro o excel e rodo a macro.
    'Pra funcionar denovo na primeira linha tenho que fechar e abrir o excel novamente.
    'Alguem sabe como limpar a propriedade desta classe que esta imperrando o codigo ?
    Range("B2").Select
    Do
        ActiveSheet.Pictures.Insert(urlFigura).Select
    ActiveCell.Offset(1, 0).Select
    Loop While Not ActiveCell.Offset(0, -1) = ""
    End Sub
        

    sexta-feira, 20 de janeiro de 2012 12:34

Todas as Respostas

  • Onde no código vc coloca valor na variável urlFigura?
    quarta-feira, 25 de janeiro de 2012 15:27
  • Exemplo :

    Estas linhas estão na coluna A, que contem as url. Ignora o replace...

    FOTO  
    http://tt013.trevisantecnologia.com.br:8083/PicViewer2?id=484712  
    http://tt013.trevisantecnologia.com.br:8083/PicViewer2?id=484704  
    http://tt013.trevisantecnologia.com.br:8083/PicViewer2?id=484711  
    http://tt013.trevisantecnologia.com.br:8083/PicViewer2?id=484710  

    Estou colocando as fotos na coluna B.

    Este é o código : 

    Sub t()

    Range("B2").Select

    Do
    ActiveCell.Select

     ActiveSheet.Pictures.Insert(Replace(ActiveCell.Offset(0, -1), "PicViewer2", "PicViewer2/GetImage")).Select

    ActiveCell.Offset(1, 0).Select

    Loop While Not ActiveCell.Offset(0, -1) = ""

    End Sub

    Insere só a primeira, quando vou para próxima célula não insere. Outra coisa, só insere 1 vez quando abro a planilha. Se rodar o codigo na segunda vez não insere.
    quinta-feira, 26 de janeiro de 2012 10:56
  • Retirei o .select da linha que insere a figura e aki funcionou.

     

    a linha fica então assim:

    ActiveSheet.Pictures.Insert (Replace(ActiveCell.Offset(0, -1), "PicViewer2", _

     "PicViewer2/GetImage"))

     

    Perceba que eu quebrei essa linha em duas para facilitar a visualização!

     

    Verifica aí e posta se deu resultado.

     

    Róbinson

    quinta-feira, 26 de janeiro de 2012 11:44
  • Não deu certo.
    Só insere a 1ª figura,  quando chega nessa parte : 
    ActiveSheet.Pictures.Insert (Replace(ActiveCell.Offset(0, -1), "PicViewer2", "PicViewer2/GetImage"))
    pela segunda vez ele trava e da o erro 1004.

    Conseguiu incluir mais que uma ? 
    quinta-feira, 26 de janeiro de 2012 14:38
  • Cara eu não sei o porquê, mas quando copio o seu código para fazer os testes ele realmente dá o erro, mas aí eu redigito algumas linhas dele e passa a funcionar, mas se eu fecho e abro de novo ele dá erro novamente. Tá muito estranho isso.

     

     

     

    quinta-feira, 26 de janeiro de 2012 15:53
  • Agora acho q resolveu. Use uma variável para guardar o link, assim o código fica:

     

    Sub t()

    Dim Link As String

     

    Range("B2").Select

     

    Do

     

    Link = Replace(ActiveCell.Offset(0, -1), "PicViewer2", "PicViewer2/GetImage")

     

     ActiveSheet.Pictures.Insert(Link).Select

     

    ActiveCell.Offset(1, 0).Select

     

    Loop While Not ActiveCell.Offset(0, -1) = ""

     

    End Sub

     

     

     

    Pelo menos aki, nem ameaçou em dar erro.

    quinta-feira, 26 de janeiro de 2012 18:37
  • Que Excel esta usando ?
    Estou usando o 2010 e ainda não funciona mesmo colocando na variavel. 
    sexta-feira, 27 de janeiro de 2012 13:59
  • Então o problema deve ser esse, o q estou usando é o 2007.
    sexta-feira, 27 de janeiro de 2012 14:14