Função FileCopy do Excel VBA
A cópia de arquivo é uma função vba embutida usada para copiar o arquivo de um local para outro local mencionado. Para usar esta função, precisamos mencionar o caminho do arquivo atual e o caminho do arquivo de destino.
Ok, vamos dar uma olhada na sintaxe da função FileCopy.
- Fonte: Isso não é nada, mas de onde precisamos copiar o arquivo. Precisamos mencionar o caminho da pasta totalmente qualificado.
- Destino: Esta é a pasta de destino onde precisamos colar o arquivo copiado.
Exemplos
Abaixo estão os exemplos de como copiar arquivos usando o código VBA.
Você pode baixar este modelo de cópia de arquivo VBA aqui - modelo de cópia de arquivo VBA em ExcelExemplo 1
Vamos começar com um exemplo simples. Tenho um arquivo denominado "Vendas de abril de 2019" na pasta. Abaixo está a imagem do mesmo, ou seja, “ Fonte ”.
Do local acima, desejo copiar este arquivo e colá-lo em uma pasta diferente. Abaixo está a imagem do mesmo, ou seja, “ Fonte de Destino”.
Ok, vamos escrever o código para ele.
Abra a função FileCopy dentro do procedimento Sub.
Código:
Sub FileCopy_Example1 ()
FileCopy
End Sub
Agora, para o primeiro argumento, precisamos mencionar o caminho do arquivo onde nosso atual está.
Código:
Sub FileCopy_Example1 ()
FileCopy “D: \ My Files \ VBA \ April Files
End Sub
Depois de mencionar o caminho da pasta, precisamos mencionar o arquivo com a extensão do arquivo também. Portanto, mencione o nome do arquivo colocando uma barra invertida (\).
Código:
Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", End Sub
Agora, no segundo argumento, mencione onde precisamos colar o arquivo copiado.
Código:
Sub FileCopy_Example1 () FileCopy "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx", "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx" End Sub
Uma coisa que precisamos fazer a seguir, mencionando o caminho da pasta no final, precisamos mencionar o nome do arquivo também no argumento de destino.
Agora execute o código usando a tecla F5 ou manualmente, em seguida, ele copiará o arquivo do local abaixo para um local de destino.
“D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx”
“D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx”
Exemplo # 2 - Use variáveis para armazenar o caminho de origem e o caminho de destino.
No exemplo anterior, fornecemos o caminho de origem e o caminho de destino diretamente para a fórmula. Mas esta não é a melhor prática para continuar, então vamos armazená-los em variáveis.
Para obter um exemplo, veja o código abaixo.
Código:
Sub FileCopy_Example2 () Dim SourcePath As String Dim DestinationPath As String SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx" DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019. xlsx "FileCopy SourcePath, DestinationPath End Sub
Deixe-me explicar o código em detalhes para você.
Primeiro, declarei duas variáveis.
Dim SourcePath As String Dim DestinationPath As String
Então, para a primeira variável, atribuí o caminho da pasta de onde ele deve copiar o arquivo e o nome do arquivo junto com sua extensão.
SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx"
Para a segunda variável da mesma forma, atribuí o caminho da pasta de destino com o nome do arquivo e a extensão do Excel.
DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019.xlsx"
Então, para a fórmula FileCopy, forneci essas variáveis em vez de longas strings de caminho de pasta.
FileCopy SourcePath, DestinationPath
Assim, podemos usar variáveis para armazenar os caminhos e usá-los de forma eficiente.
Exemplo # 3 - Erro com a função de cópia de arquivo
Às vezes, a função de cópia de arquivo encontra um erro de “Permissão negada”.
A razão pela qual obtemos este erro é que quando o arquivo de cópia é aberto e se você tentar copiar o erro acima vem, então sempre feche o arquivo e execute o código.