Marcelo David 7/12/2022, 01:02
Fiz algumas alterações:
Código que faz a copia da imagem, agora passo como parâmetro a origem da imagem direto do filedialog.
- Código:
Sub CopiarFoto(strOrigem As String)
On Error Resume Next
Dim strArquivo
Dim SourceFile, DestinationFile
strArquivo = "Cliente" & "-" & Me.Cliente
SourceFile = strOrigem 'Passo a origem da imagem
DestinationFile = CurrentProject.Path & "\Fotos\" & strArquivo & Mid("marcelo.png", InStr("marcelo.png", "."))
' aqui coloca o nome da pasta de destino, current project e a pasta raiz do sistema.
FileCopy SourceFile, DestinationFile ' Copy source to target.
Me.Texto19 = DestinationFile
End Sub
E o código do botão inserir foto:
- Código:
Dim selecionarFt As Office.FileDialog
strArquivo2 = "Cliente" & " -- " & Me.Cliente
strFoto = CurrentProject.Path & "\Fotos\" & strArquivo2
Set selecionarFt = Application.FileDialog(msoFileDialogFilePicker)
With selecionarFt
.AllowMultiSelect = False
.Title = "Selecione uma imagem"
.Filters.Clear
.Filters.Add "Foto do Cliente", "*.jpg, *.jpeg, *.bmp, *.gif, *png"
If .Show = True Then
Me.Foto1 = .SelectedItems(1)
CopiarFoto .SelectedItems(1) 'ja chamo a sub que copia a foto, passando como parâmetro a origem da imagem
Else
End If
End With
Set selecionarFt = Nothing
Me.Texto21 = strArquivo2
Para as operações acima, não se faz necessário o módulo:
tagOPENFILENAME.
caso não use ele em outros locais, pode excluir, pois eles podem estar dando de problema e compatibilidade, por fazer uso de APIs do Windows, sendo que o Access/Office já
dispõe das mesmas funções.
Teste por favor
.................................................................................
Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
Access e VBA - Formulário Desacoplado - [Passo a passo]
Conheça meu canal no Youtube e se inscreva.