VBA kopēšanas fails / darbgrāmata

VBA ļauj kopēt failu, izmantojot FileSystemObject. Šajā apmācībā jūs uzzināsit, kā kopēt un pārdēvēt noteiktu failu.

Ja vēlaties uzzināt, kā pārdēvēt failu, varat noklikšķināt uz šīs saites: VBA pārdēvēt failu

Kopēt failu / darbgrāmatu

Mēs parādīsim, kā kopēt esošo failu Faila paraugs 1.xlsx mapē VBA mape. Šajā piemērā mēs failu nepārdēvēsim, vienkārši kopējiet un pārrakstiet to. Mapē pašlaik ir tikai viens fails:

Attēls 1. Fails mapē C: \ VBA Folder

Šeit ir kods:

12345 Dim oFSO kā objektsIestatīt oFSO = CreateObject ("Scripting.FileSystemObject")Zvaniet oFSO.CopyFile ("C: \ VBA mape \ Parauga fails 1.xlsx", "C: \ VBA mape \", True)

Vispirms jums ir jāizveido klases objekts Scripting.FileSystemObject:

1 Iestatīt oFSO = CreateObject ("Scripting.FileSystemObject")

Tad mēs varam izmantot metodi CopyFile:

1 Zvaniet oFSO.CopyFile ("C: \ VBA mape \ Parauga fails 1.xlsx", "C: \ VBA mape \", True)

Metodes pirmais parametrs ir avota ceļš, bet otrais - mērķa ceļš. Trešais parametrs ir Pārrakstīt. Tā kā mums ir vienādi avota un galamērķa ceļi, mums ir jāiestata Pārrakstīt uz patiesu vai nepatiesu. Šajā piemērā mēs ievietojām True, kas nozīmē, ka sākotnējais fails ir pārrakstīts.

Tagad paskatīsimies, kas notiek, ja mums ir vienādi galamērķi, bet iestatiet Pārrakstīt uz False. Jums vienkārši jāmaina šī koda rinda:

1 Zvaniet oFSO.CopyFile ("C: \ VBA mape \ Parauga fails 1.xlsx", "C: \ VBA mape \", True)

Rezultātā jūs saņemsit kļūdu, kā redzams 2. attēlā:

2. attēls. Kļūda, kopējot failu

Kopējiet un pārdēvējiet failu

Vēl viena iespēja, kopējot failu, ir to pārdēvēt. Tas ir līdzīgi faila kopēšanai, bet tagad jums vienkārši jāiestata galamērķa ceļš ar citu nosaukumu. Šeit ir kods:

12345 Dim oFSO kā objektsIestatīt oFSO = CreateObject ("Scripting.FileSystemObject")Zvaniet oFSO.CopyFile ("C: \ VBA mape \ Parauga fails 1.xlsx", "C: \ VBA mape \ Parauga fails Copy.xlsx")

Kā redzat no koda pēdējās rindas, mēs vēlamies kopēt failu Faila paraugs 1.xlsx tajā pašā mapē un nosauciet to Parauga fails Copy.xlsx:

1 Zvaniet oFSO.CopyFile ("C: \ VBA mape \ Parauga fails 1.xlsx", "C: \ VBA mape \ Parauga fails Copy.xlsx")

Tagad mums ir divi faili VBA mapē. Koda rezultāts ir redzams 3. attēlā:

Attēls 3. Kopējiet un pārdēvējiet failu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave