Marcelo David 15/7/2021, 12:52
Bom dia,
o filecopy do VBA não lida bem nessa situação.
Use esse meu código:
Em um módulo:
- Código:
Public Sub SubCopia(Origem As String, Destino As String)
'Método para copiar arquivos utilizando o File System Object do Windows (é mais eficiente do que o do do VBA)
'Criado por Marcelo David
'Conheça meu curso de formulário desacoplado no link abaixo:
'https://www.udemy.com/course/access-vba-formulario-desacoplado/?referralCode=8D331E633FD82E09EFD2
Dim fso As Object
On Error GoTo TrataErro
Set fso = CreateObject("Scripting.FileSystemObject")
fso.copyfile Origem, Destino, False
Set fso = Nothing
Exit Sub
TrataErro:
MsgBox Err.Description, vbExclamation, "Atenção"
End Sub
Esse código funciona como o filecopy do vba, porém usa Scripting do Windows, que é mais eficiente e tem algumas vantagens,
inclusive a possibilidade de uso do caractere coringa
* para fazer referencia a nomes de arquivos variados e etc.
Para copiar vários arquivos sendo que apenas com extensão específica, como pdf (seu caso),
seria algo assim:
a variável Arq_Origem, deve conter um conteúdo semelhante:
c:\PastaOrigem\
*.pdfOu sejam, basta especificar
*.extensão, que todos os arquivos da pasta com a extensão especificada serão copiados.
A variável Arq_Destino
não deve conter a extensão do arquivo, deverá ficar mais ou menos assim:
c:\PastaDestino
\Assim, os arquivos serão copiados para a pasta destino com seus nomes originais.
.................................................................................
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.