VBA kopeerimisfail / töövihik

VBA võimaldab teil faili kopeerida, kasutades FileSystemObject. Selles õpetuses saate teada, kuidas konkreetset faili kopeerida ja ümber nimetada.

Kui soovite teada, kuidas faili ümber nimetada, võite klõpsata sellel lingil: VBA faili ümbernimetamine

Kopeeri fail / töövihik

Näitame, kuidas olemasolevat faili kopeerida Näidisfail 1.xlsx kaustas VBA kaust. Selles näites me faili ümber ei nimeta, lihtsalt kopeerige ja kirjutage see üle. Kaustas on praegu ainult see üks fail:

Pilt 1. Fail kaustas C: \ VBA Folder

Siin on kood:

12345 Dim oFSO kui objektMäära oFSO = CreateObject ("Scripting.FileSystemObject")Helistage oFSO.CopyFile ("C: \ VBA kaust \ Näidisfail 1.xlsx", "C: \ VBA kaust \", tõsi)

Kõigepealt peate looma klassi objekti Skriptimine.FileSystemObject:

1 Määra oFSO = CreateObject ("Scripting.FileSystemObject")

Siis saame meetodit kasutada CopyFile:

1 Helistage oFSO.CopyFile ("C: \ VBA kaust \ Näidisfail 1.xlsx", "C: \ VBA kaust \", tõsi)

Meetodi esimene parameeter on allika tee ja teine ​​sihtkoha tee. Kolmas parameeter on Üle kirjutada. Kuna meil on samad allika ja sihtkoha teed, peame seadma Üle kirjutada tõele või valele. Selles näites paneme tõe, mis tähendab, et algne fail kirjutatakse üle.

Vaatame nüüd, mis juhtub, kui meil on samad sihtkohad, kuid määrake Overwrite väärtuseks Väär. Peate lihtsalt seda koodi rida muutma:

1 Helistage oFSO.CopyFile ("C: \ VBA kaust \ Näidisfail 1.xlsx", "C: \ VBA kaust \", tõsi)

Selle tulemusena saate vea, nagu näete pildil 2:

Pilt 2. Viga faili kopeerimisel

Faili kopeerimine ja ümbernimetamine

Teine võimalik variant faili kopeerimisel on selle ümbernimetamine. See sarnaneb faili kopeerimisega, kuid nüüd peate lihtsalt määrama sihtkoha tee teise nimega. Siin on kood:

12345 Dim oFSO kui objektMäära oFSO = CreateObject ("Scripting.FileSystemObject")Helistage oFSO.CopyFile ("C: \ VBA kaust \ Näidisfail 1.xlsx", "C: \ VBA kaust \ Näidisfail Copy.xlsx")

Nagu näete koodi viimaselt realt, tahame faili kopeerida Näidisfail 1.xlsx samasse kausta ja pange sellele nimi Näidisfail Copy.xlsx:

1 Helistage oFSO.CopyFile ("C: \ VBA kaust \ Näidisfail 1.xlsx", "C: \ VBA kaust \ Näidisfail Copy.xlsx")

Nüüd on meil VBA kaustas kaks faili. Koodi tulemus on pildil 3:

Pilt 3. Kopeerige ja nimetage fail ümber

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave