Cópia de arquivo VBA

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 Excel

Exemplo 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.