Página 1 de 1

Erro de tempo de Execução ao carregar imagens no Excel VBA

Enviado: Sex Jun 14, 2019 9:49 am
por Alex Abreu
Bom dia, não sei por que motivo aparente hoje meu arquivo xlsm começou a dar esse erro quando tento carregar uma certa imagem em um Objeto Imagem VBA,
fui conferir se os objetos e o arquivo da imagem encontram-se nos respectivos lugares mencionados nas macros e os mesmos existem e estão em conformidade.
Portanto notei que e em cadastros mais antigos quando esse arquivo era carregado normalmente em outros momentos hoje não consigo mais carrega-lo, outra coisa muito esquisita é que se eu renomear com menos caracteres esse arquivo o esgramado carrega, segue um exemplo:

Código: Selecionar todos

D:\Dados Alex Abreu\Trabalho\Controle de estoque\Imagens cadastro estoque\veículos\JCB ESCAVADEIRA HIDRAULICA  PLACA MÁQUINA-OPERACIONAL SEC. DE OBRAS.jpg

Código: Selecionar todos

D:\Dados Alex Abreu\Trabalho\Controle de estoque\Imagens cadastro estoque\veículos\JCB ESCAVADEIRA JS160LC SEC. DE OBRAS.jpg
portanto agora segue minhas dúvidas;
Por que ocorre no Excel VBA esse bendito erro?, Qual é o limite de caracteres que um arquivo deve ter para que o mesmo seja carregado?, tem como aumentar esse limite?

Re: Erro de tempo de Execução ao carregar imagens no Excel VBA

Enviado: Sex Jun 14, 2019 11:19 am
por Reinaldo
Apesar de nunca ter ouvido ou passado por esse tipo de situação, pesquisando na net, há vários relatos sobre esse tipo de ocorrência (ou similar); por exemplo: https://stackoverflow.com/questions/484 ... -filenames https://www.excelforum.com/excel-progra ... books.html
não se referindo a um limite do vba mas sim do sistema operacional. Sendo assim o melhor , creio eu, e utilizar menores caminhos (Path) bem como menores nomes de arquivo. Bem como evitar utilizar na denominação caracteres acentuados.

Re: Erro de tempo de Execução ao carregar imagens no Excel VBA

Enviado: Sex Jun 14, 2019 3:21 pm
por Alex Abreu
Reinaldo escreveu: Sex Jun 14, 2019 11:19 am Apesar de nunca ter ouvido ou passado por esse tipo de situação, pesquisando na net, há vários relatos sobre esse tipo de ocorrência (ou similar); por exemplo: https://stackoverflow.com/questions/484 ... -filenames https://www.excelforum.com/excel-progra ... books.html
não se referindo a um limite do vba mas sim do sistema operacional. Sendo assim o melhor , creio eu, e utilizar menores caminhos (Path) bem como menores nomes de arquivo. Bem como evitar utilizar na denominação caracteres acentuados.
É fui fazer um cálculo de Caracteres não tá passando de 124, acima disso já dá esse erro de não localizar arquivo, tá escroto pra caralho isso daí! Bah!
EDIT:
Fiz algumas modificações de caminhos para diminuir a quantidade de caracteres no path do arquivo em questão, e agora parece que solucionei parte do problema!
Acontece que costumeiramente em minha userform nos Objetos VBA de Imagem ao clicar neles tenho algumas macros que abrem o arquivo pelo Visualizador de Imagens do WIndows (Ativado via RegEdit) e mesmo o objeto VBA de Imagem não carregar a foto do produto a macro consegue abrir o arquivo conforme segue a macro abaixo:

Código: Selecionar todos

Private Sub Image_Produto_click()
'precisa carregar o registro para ativar o Visualizador de Imagens Clássico do Windows antes
Dim Path As String
Path = Timagem_produto.Value
Shell "RunDLL32.exe C:\Windows\System32\Shimgvw.dll,ImageView_Fullscreen " & Path
End Sub
Contando os caracteres dessa imagem carregada deu 144 Caracteres, o Bug 75 está apenas neste arquivo xlsm pelo que eu notei...