Peguei alguns exemplos aqui no Fórum de como copiar, mover arquivos de uma pasta para outra via Access e adaptei para minha necessidade. Está quase tudo perfeito, ocorre que preciso copiar um arquivo da pasta de origem e depois renomea-lo na pasta de Destino, Exemplo tem um arquivo FotoLoja.Jpg (origem) e preciso Renomear para FotoLoja_1.Jpg (Destino).
Alguém sabe como posso fazer isso? abaixo segue o código como está hoje funcionando, porém sem renomear, apenas copiando.
On Error GoTo MostraErro
Dim fso, Item
Dim strOrigem As String, strDestino As String
If ListaFicheiros.ItemsSelected.Count = 0 Then
MsgBox "Não tem nenhum arquivo selecionado.", 64, "Marcelo"
Exit Sub
End If
strOrigem = Me.TopDir
LePasta: strDestino = "T:\ANEXOS\"
If strDestino = "" Then
If MsgBox("Deve escolher uma pasta válida, ou cancelar a operação.", vbOKCancel) = vbYes Then
GoTo LePasta
Else
Exit Sub
End If
End If
Set fso = CreateObject("Scripting.FileSystemObject")
'Se é invalida a pasta de Origem ou Destino
If Not fso.FolderExists(strOrigem) Then
MsgBox strOrigem & " Caminho invalido para a pasta de origem.", vbInformation, "Erro"
ElseIf Not fso.FolderExists(strDestino) Then
MsgBox strDestino & " Caminho invalido para a pasta de destino", vbInformation, "Erro"
'Se não há arquivos a serem movidos
Else
If Right(strDestino, 1) <> "\" Then strDestino = strDestino & "\"
For Each Item In ListaFicheiros.ItemsSelected
'Se quiser copiar
fso.CopyFile (strOrigem & "\" & ListaFicheiros.Column(0, Item)), strDestino
Next
Call Atualise
ListaFicheiros.RowSource = ""
DoCmd.Close A_FORM, "Selecionar_Arquivos"
MsgBox strOrigem & " ARQUIVOS TRANSFERIDOS COM SUCESSO.", vbInformation, "Concluído"
End If
Exit Sub
MostraErro:
MsgBox Err.Number & vbCr & Err.Description
Alguém sabe como posso fazer isso? abaixo segue o código como está hoje funcionando, porém sem renomear, apenas copiando.
On Error GoTo MostraErro
Dim fso, Item
Dim strOrigem As String, strDestino As String
If ListaFicheiros.ItemsSelected.Count = 0 Then
MsgBox "Não tem nenhum arquivo selecionado.", 64, "Marcelo"
Exit Sub
End If
strOrigem = Me.TopDir
LePasta: strDestino = "T:\ANEXOS\"
If strDestino = "" Then
If MsgBox("Deve escolher uma pasta válida, ou cancelar a operação.", vbOKCancel) = vbYes Then
GoTo LePasta
Else
Exit Sub
End If
End If
Set fso = CreateObject("Scripting.FileSystemObject")
'Se é invalida a pasta de Origem ou Destino
If Not fso.FolderExists(strOrigem) Then
MsgBox strOrigem & " Caminho invalido para a pasta de origem.", vbInformation, "Erro"
ElseIf Not fso.FolderExists(strDestino) Then
MsgBox strDestino & " Caminho invalido para a pasta de destino", vbInformation, "Erro"
'Se não há arquivos a serem movidos
Else
If Right(strDestino, 1) <> "\" Then strDestino = strDestino & "\"
For Each Item In ListaFicheiros.ItemsSelected
'Se quiser copiar
fso.CopyFile (strOrigem & "\" & ListaFicheiros.Column(0, Item)), strDestino
Next
Call Atualise
ListaFicheiros.RowSource = ""
DoCmd.Close A_FORM, "Selecionar_Arquivos"
MsgBox strOrigem & " ARQUIVOS TRANSFERIDOS COM SUCESSO.", vbInformation, "Concluído"
End If
Exit Sub
MostraErro:
MsgBox Err.Number & vbCr & Err.Description