VBA másolási fájl / munkafüzet

A VBA lehetővé teszi egy fájl másolását a FileSystemObject. Ebben az oktatóanyagban megtudhatja, hogyan másolhat és nevezhet át egy adott fájlt.

Ha meg szeretné tanulni a fájl átnevezését, kattintson erre a linkre: VBA Fájl átnevezése

Fájl / munkafüzet másolása

Megmutatjuk, hogyan kell másolni a meglévő fájlt Mintafájl 1.xlsx a mappában VBA mappa. Ebben a példában nem nevezzük át a fájlt, csak másoljuk és felülírjuk. A mappában jelenleg csak ez az egy fájl található:

Kép 1. Fájl a C mappában: \ VBA mappa

Itt a kód:

12345 Dim oFSO mint objektumSet oFSO = CreateObject ("Scripting.FileSystemObject")Hívja meg az oFSO.CopyFile fájlt ("C: \ VBA mappa \ mintafájl 1.xlsx", "C: \ VBA mappa \", igaz)

Először létre kell hoznia az osztály objektumát Scripting.FileSystemObject:

1 Set oFSO = CreateObject ("Scripting.FileSystemObject")

Akkor használhatjuk a módszert Fájl másolás, fájl másolása:

1 Hívja meg az oFSO.CopyFile fájlt ("C: \ VBA mappa \ mintafájl 1.xlsx", "C: \ VBA mappa \", igaz)

A módszer első paramétere a forrás elérési útja, a második pedig a cél elérési útja. A harmadik paraméter az Átír. Mivel azonos forrás- és célútvonalaink vannak, be kell állítanunk Átír igaznak vagy hamisnak. Ebben a példában a True értéket adjuk meg, ami azt jelenti, hogy az eredeti fájl felül van írva.

Nézzük most, mi történik, ha ugyanazok a célállomások, de a Felülírás értékét állítsuk hamisra. Csak meg kell változtatnia a kód ezen sorát:

1 Hívja meg az oFSO.CopyFile fájlt ("C: \ VBA mappa \ mintafájl 1.xlsx", "C: \ VBA mappa \", igaz)

Ennek eredményeként hibaüzenetet kap, amint az a 2. képen látható:

2. kép. Hiba a fájl másolásakor

Fájl másolása és átnevezése

Egy másik lehetőség a fájl másolásakor az átnevezése. Hasonló a fájl másolásához, de most csak más célú útvonalat kell beállítania. Itt a kód:

12345 Dim oFSO mint objektumSet oFSO = CreateObject ("Scripting.FileSystemObject")Hívja meg az oFSO.CopyFile fájlt ("C: \ VBA mappa \ mintafájl 1.xlsx", "C: \ VBA mappa \ mintafájl Copy.xlsx")

Amint a kód utolsó sorából látható, másolni szeretnénk a fájlt Mintafájl 1.xlsx ugyanabban a mappában, és nevezze el Példa fájl Copy.xlsx:

1 Hívja meg az oFSO.CopyFile fájlt ("C: \ VBA mappa \ mintafájl 1.xlsx", "C: \ VBA mappa \ mintafájl Copy.xlsx")

Most két fájlunk van a VBA mappában. A kód eredménye a 3. képen látható:

3. kép. Másolja át és nevezze át a fájlt

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave