samara.vba Postado Março 22, 2022 Denunciar Share Postado Março 22, 2022 boa tarde. estou com um problema. fiz um cadastro de cliente com foto. esta foto é salva em uma célula com o caminho que ela esta. estou precisando de um código que atualize este endereço ao passar esta pasta para outro computador. computador 01: c:\joão pasta x: contém 01 pasta com fotos e o arquivo do excel. célula: c:\joão\área e trabalho\pasta x\fotos\01.jpg ao mudar os arquivos para outro computador gostaria que esse caminho da célula atualizasse para o novo local. computador 02: d:\maria célula: c:\joão\área e trabalho\pasta x\fotos\01.jpg >>>> d:\maria\área e trabalho\pasta x\fotos\01.jpg desde já agredeço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Março 25, 2022 Denunciar Share Postado Março 25, 2022 @samara.vba use a funcao environ Exemplo: Sub Teste_Usuario() MsgBox vba.Environ("USERPROFILE") & "\Desktop\pasta x\fotos\01.jpg" End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 samara.vba Postado Março 25, 2022 Autor Denunciar Share Postado Março 25, 2022 boa tarde, e daria para substituir em um coluna inteira o diretório? coluna esta que está os endereços das fotos que serão exibidas no image1.picture ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Março 25, 2022 Denunciar Share Postado Março 25, 2022 @samara.vbanão entendi sua questão Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 samara.vba Postado Março 27, 2022 Autor Denunciar Share Postado Março 27, 2022 Em 25/03/2022 em 16:35, Basole disse: @samara.vbanão entendi sua questão seguinte. tenho um cadastro de clientes com fotos no excel. e ao cadastrar o caminho de uma foto, ela fica registrada ao lado do nome da pessoa exemplo: computador 01: c:\joão\área de trabalho célula A1 célula B1 Fernanda c:\joão\área de trabalho\excel\fernanda.jpg ao mudar o arquivo de computador: o caminho fica como se fosse o computador 01 e não localiza o local do arquivo. computador 02: d:\maria\área célula A1 célula B1 Fernanda c:\joão\área de trabalho\excel\fernanda.jpg queria uma código que atualizasse esse caminho automaticamente ou por meio de um botão para: célula A1 célula B1 Fernanda d:\maria\área\excel\fenanda.jpg. Agora, samara.vba disse: seguinte. @Basole tenho um cadastro de clientes com fotos no excel. e ao cadastrar o caminho de uma foto, ela fica registrada ao lado do nome da pessoa exemplo: computador 01: c:\joão\área de trabalho célula A1 célula B1 Fernanda c:\joão\área de trabalho\excel\fernanda.jpg ao mudar o arquivo de computador: o caminho fica como se fosse o computador 01 e não localiza o local do arquivo. computador 02: d:\maria\área célula A1 célula B1 Fernanda c:\joão\área de trabalho\excel\fernanda.jpg queria uma código que atualizasse esse caminho automaticamente ou por meio de um botão para: célula A1 célula B1 Fernanda d:\maria\área\excel\fenanda.jpg. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Março 27, 2022 Denunciar Share Postado Março 27, 2022 (editado) @samara.vba bom dia ! Voce pode concatenar os dados junto com a função (udf), abaixo para retornar o usuário da máquina atual: Exemplo: Na célula B1 => =Usuario() & "\desktop\excel\" &A1& ".jpg" A função abaixo cole em um mólulo padrão: Function Usuario() Usuario = VBA.Environ("USERPROFILE") End Function Editado Março 27, 2022 por Basole Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 samara.vba Postado Março 27, 2022 Autor Denunciar Share Postado Março 27, 2022 3 horas atrás, Basole disse: @samara.vba bom dia ! Voce pode concatenar os dados junto com a função (udf), abaixo para retornar o usuário da máquina atual: Exemplo: Na célula B1 => =Usuario() & "\desktop\excel\" &A1& ".jpg" A função abaixo cole em um mólulo padrão: Function Usuario() Usuario = VBA.Environ("USERPROFILE") End Function 3 horas atrás, Basole disse: @samara.vba bom dia ! Voce pode concatenar os dados junto com a função (udf), abaixo para retornar o usuário da máquina atual: Exemplo: Na célula B1 => =Usuario() & "\desktop\excel\" &A1& ".jpg" A função abaixo cole em um mólulo padrão: Function Usuario() Usuario = VBA.Environ("USERPROFILE") End Function @Basole MUITOOO OBRIGADA DEU SUPER CERTO. JUSTAMENTE O QUE EU ESTAVA PRECISANDO. MIL AGRADECIMENTOS. @Basole, NÃO QUERENDO ABUSAR, mas já abusando (rsrsr). tem algum código que eu possa salvar somente o caminho da pasta do arquivo? para cocatenar com esse vba.environ? em uma célula ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 samara.vba Postado Março 27, 2022 Autor Denunciar Share Postado Março 27, 2022 12 minutos atrás, samara.vba disse: @Basole MUITOOO OBRIGADA DEU SUPER CERTO. JUSTAMENTE O QUE EU ESTAVA PRECISANDO. MIL AGRADECIMENTOS. @Basole, NÃO QUERENDO ABUSAR, mas já abusando (rsrsr). tem algum código que eu possa salvar somente o caminho da pasta do arquivo? para cocatenar com esse vba.environ? em uma célula ? @Basole computador: c:\maria célula A1 célula B1 célula C1 c:\maria \pasta1\farnanda.jpg c:\maria\pasta\fernanda.jpg =usuário() ????? =A1 & B1 vba.environ ????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Março 27, 2022 Denunciar Share Postado Março 27, 2022 (editado) Você pode colocar um comando para quando abrir a Pastade_Trabalho, automaticamente, já inserir o caminho na celula [ C1 ], por exempo: Em um módulo padrão: Sub Auto_Open() With Worksheets("Plan1") .Range("C1").Value = VBA.Environ("USERPROFILE") & _ "\Desktop\Excel\" & Range("A1").Value & ".jpg" End With End Sub Não sei é isso exatamente, que que está se referindo... Editado Março 27, 2022 por Basole Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 samara.vba Postado Março 27, 2022 Autor Denunciar Share Postado Março 27, 2022 1 hora atrás, Basole disse: Você pode colocar um comando para quando abrir a Pastade_Trabalho, automaticamente, já inserir o caminho na celula [ C1 ], por exempo: Em um módulo padrão: Sub Auto_Open() With Worksheets("Plan1") .Range("C1").Value = VBA.Environ("USERPROFILE") & _ "\Desktop\Excel\" & Range("A1").Value & ".jpg" End With End Sub Não sei é isso exatamente, que que está se referindo... @Basole acho que me expressei mal. seguinte: nome: textbox1 =======fernanda foto: image1.picture.======c:\maria\programa\foto1.jpg vamos supor que esse é meu formulário: ao clicar no botão salvar: computador : c:\maria célula A1 célula B1 célula C1 fernanda c:\maria \programa\foto1.jpg se teria um código para quando eu licar no botão salvar ele divida o caminho em duas partes: parte 1 (célula B1) ====== só o usuário - c:\maria parte 2(célula C1) ====== só a parte do caminho começando pela pasta, ou seja, sem o usuário. - \programa\foto1.jpg mas isso levando em consideração que é um form. e que será salvo um embaixo do outro, toda vez que clicar no botão salvar. automatizar essa divisão. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Março 27, 2022 Denunciar Share Postado Março 27, 2022 (editado) @samara.vba entendi agora. Deixa eu ver aqui..... @samara.vba fiz um exemplo aqui, veja se é isso... ....sempre vai salvar na próxima linha vazia Sub Botao_Salvar() With Worksheets("Plan1") .Cells(.Cells(Rows.Count, 2).End(xlUp).Offset(1).Row, 2).Value = VBA.Environ("USERPROFILE") .Cells(.Cells(Rows.Count, 3).End(xlUp).Offset(1).Row, 3).Value = "\Desktop\programa\foto1.jpg" End With End Sub Editado Março 27, 2022 por Basole Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 samara.vba Postado Março 28, 2022 Autor Denunciar Share Postado Março 28, 2022 6 horas atrás, Basole disse: @samara.vba entendi agora. Deixa eu ver aqui..... @samara.vba fiz um exemplo aqui, veja se é isso... ....sempre vai salvar na próxima linha vazia Sub Botao_Salvar() With Worksheets("Plan1") .Cells(.Cells(Rows.Count, 2).End(xlUp).Offset(1).Row, 2).Value = VBA.Environ("USERPROFILE") .Cells(.Cells(Rows.Count, 3).End(xlUp).Offset(1).Row, 3).Value = "\Desktop\programa\foto1.jpg" End With End Sub @Basole obrigada. quase isso. só essa parte do código que representa a parte do arquivo. preciso que ela seja preenchida de acordo com caminho da foto que vou carregar no: openfile. na image. o caminho da foto que será preenchido, mas sem o dire´torio. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Março 28, 2022 Denunciar Share Postado Março 28, 2022 @samara.vbabom dia, Acredito que voce já tenha um codigo para selecionar a foto. De qualquer forma pode adaptar ao exemplo abaixo: Sub Botao_Salvar() Dim fd As Office.FileDialog Dim strFile As String Set fd = Excel.Application.FileDialog(msoFileDialogFilePicker) With fd .Filters.Clear .Filters.Add "Arquivos de Imagens", "*.jpg", 1 .Title = "Selecione uma imagem" .AllowMultiSelect = False .InitialFileName = VBA.Environ("USERPROFILE") & "\Desktop" If .Show = True Then strFile = .SelectedItems(1) End If End With With Worksheets("Plan1") .Cells(.Cells(Rows.Count, 2).End(xlUp).Offset(1).Row, 2).Value = VBA.Environ("USERPROFILE") .Cells(.Cells(Rows.Count, 3).End(xlUp).Offset(1).Row, 3).Value = VBA.Replace(strFile, VBA.Environ("USERPROFILE"), "") End With End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 samara.vba Postado Abril 28, 2022 Autor Denunciar Share Postado Abril 28, 2022 @Basole estou quase conseguindo. mais de mês que esse problema me assola. vou explicar direitinho. tenho um app vba que salva o cadastro com uma foto. #o meu problema é: que quando mudo o app para outro pc, o caminho da foto fica desatualizado, logo não exibe mais a foto no fomrulário quando se quer pesquisar. preciso de um comando que: individualize as partes do caminho para futura atualização. ou mesmo um comando que atualize ao abrir o excel. por exemplo. computador 1 >>>>> c:\maria\desktop\app\foto\imagem.jpg. [este é o caminho da foto do cadastro] #o meu problema é: quando passo essa planilha com a pasta para outro computador. o caminho fica desatulizado. computador 2 >>>>>d:\joão o caminho fica : >>>> c:\maria\desktop\app\foto\imagem.jpg<<< logo, a foto não aparece na imagem do app vba. **********************o que eu peço ajuda:****************************************************** que quando, eu mude essa planlha para outra máquina, o endereço atualize: computador 1: >>> c:\maria\desktop ------ endereço: >>>>>c:\maria\desktop\app\foto\imagem.jpg ao mudar computador 2: >>>d:\joão\area de trabalho -------endereço atualize para : >>>>> d:\joão\area de trabalho\app\foto\imagem.jpg *********************************ou em segundo caso:****************************************** um comando que ao clicar salvar foto na planilha separe: caminho : c:\maria\desktop\app\foto\imagem.jpg parte 1: >>> c:\maria\desktop parte 2: >>> app\foto\imagem.jpg ou então : >>>>imagem.jpg desde já agradeço a atenção está me ajudando demais. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Basole Postado Abril 29, 2022 Denunciar Share Postado Abril 29, 2022 @samara.vbabom dia, a funcão VBA.Environ("USERPROFILE"), com o parametro USERPROFILE, referência a unidade ( C:, D:, N:, ... Z: etc ) e o USUARIO logado na maquina, por exemplo: C:\maria O que pode fazer, por exemplo, é ao abrir a pasta de trabalho a macro, no auto_open grava em uma celula essa referencia e o demais parametros (subpastas), do local (diretório) da imagem, exemplo: "\Desktop\app\foto\imagem.jpg" Então quando abrir a pasta de trabalho no computador 1 (usuario maria) na celula A1 será registrado o local da imagem como: C:\maria\area de trabalho\app\foto\imagem.jpg" E o mesmo no computador 2 (usuario João) na celula A1 será registrado o local da imagem como: C:\João\area de trabalho\app\foto\imagem.jpg" Feito isso, com esse registro voce pode referenciar esta célula gravada com o caminho(local) da imagem para demais macros que precisam referenciar a imagem Segue o exemplo com o evento auto_open * Cole em um modulo padrão, alterando a planilha (aba) e a range (celula), e o caminho das subpastas, de acordo com o seu cenário: Private Sub Auto_Open() With ThisWorkbook.Worksheets(1) Range("A1").Value = VBA.Environ("USERPROFILE") & "\Desktop\app\foto\imagem.jpg" End With End Sub Qualquer dúvida estou a disposição: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
samara.vba
boa tarde.
estou com um problema. fiz um cadastro de cliente com foto.
esta foto é salva em uma célula com o caminho que ela esta.
estou precisando de um código que atualize este endereço ao passar esta pasta para outro computador.
computador 01: c:\joão
pasta x: contém 01 pasta com fotos e o arquivo do excel.
célula: c:\joão\área e trabalho\pasta x\fotos\01.jpg
ao mudar os arquivos para outro computador gostaria que esse caminho da célula atualizasse para o novo local.
computador 02: d:\maria
célula: c:\joão\área e trabalho\pasta x\fotos\01.jpg >>>> d:\maria\área e trabalho\pasta x\fotos\01.jpg
desde já agredeço
Link para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.