Jedním ze základních úkolů, kterým uživatelé programu Microsoft Excel čelí, je kopírování souborů. Kopírování souboru může být užitečné v mnoha případech, například když je nutné zálohovat data nebo předat soubor jinému uživateli. Programovací jazyk VBA (Visual Basic for Applications) Aplikace Excel poskytuje speciální pokyny pro kopírování souborů, které umožňují automatizaci tohoto procesu.
Základním principem kopírování souboru VBA Excel je použití metody CopyFile. Tato metoda vám umožňuje zkopírovat vybraný soubor do zadaného umístění. Pro použití metody je nutné zadat cestu k původnímu souboru a cestu k cílovému souboru. V tomto případě je také možné zadat nový název souboru, pokud jej chcete uložit pod jiným názvem. Pokud soubor s tímto názvem již existuje na uvedeném místě, může jej metoda nahradit novým souborem nebo přerušit operaci kopírování.
Chcete-li pracovat se soubory v aplikaci VBA Excel, musíte zadat správné cesty k souborům. Je důležité vzít v úvahu oddělovače na cestě k souboru (reverzní lomítko nebo lomítko) v závislosti na operačním systému, na kterém je program spuštěn. Je také třeba věnovat pozornost tomu, že cesta k souboru může obsahovat mezery nebo speciální znaky, které je třeba při psaní kódu Zobrazit. Při kopírování souboru je proto nutné dávat pozor při určování cest k souborům a kontrolovat pravopis.
Je důležité poznamenat, že pro použití metody CopyFile je třeba připojit knihovnu Microsoft Scripting Runtime. Chcete - li to provést, přejděte do nabídky Nástroje-odkazy v editoru VBA (klikněte na šipku vpravo) a zaškrtněte políčko naproti Microsoft Scripting Runtime. Po připojení knihovny můžete použít metodu ke kopírování souborů.
Základní principy kopírování souboru VBA Excel
1. Určení cesty a názvu souboru:
Prvním krokem v procesu kopírování souboru VBA Excel je určení cesty a názvu souboru, který chceme zkopírovat. Můžeme ručně zadat úplnou cestu k souboru nebo použít proměnnou, která obsahuje cestu a název souboru.
2. Vytvoření objektu FileSystemObject:
Pro práci se soubory v aplikaci VBA Excel používáme objekt FileSystemObject z knihovny Microsoft Scripting Runtime. Nejprve je třeba přidat odkaz na tuto knihovnu (Tools → References → Microsoft Scripting Runtime).
3. Kontrola dostupnosti souboru:
Při kopírování souboru je důležité zkontrolovat, zda takový soubor na disku existuje. K tomuto účelu můžeme použít metodu FileExists objektu filesystemobject. Pokud soubor existuje, přejdeme k dalšímu kroku. Pokud soubor neexistuje, můžete zobrazit chybovou zprávu nebo provést jiné kroky podle vašeho uvážení.
4. Kopírování souboru:
Ke kopírování souboru se používá metoda CopyFile objektu FileSystemObject. Zadáme cestu a název původního souboru a také cestu a název souboru, do kterého chceme kopírovat. Pokud potřebujeme přepsat již existující soubor, předáme možnost True do metody CopyFile.
5. Dokončení operace:
Po dokončení kopírování souboru je důležité zkontrolovat, zda byla operace úspěšná. K ověření přítomnosti zkopírovaného souboru můžeme použít metodu FileExists objektu FileSystemObject.
Hotovo! Nyní jste obeznámeni se základními principy kopírování souboru v aplikaci VBA Excel. Pomocí těchto pokynů vytvořte makra, která automatizují proces kopírování souborů v počítači.
Pokyny pro kopírování souboru VBA Excel
1. Použití metody FileCopy :
Metoda FileCopy vám umožňuje zkopírovat soubor z jednoho umístění do druhého. Syntaxe této metody je následující:
FileCopy "Исходный_путь\имя_файла", "Новый_путь\имя_файла"
Například zkopírovat soubor s názvem " example.xlsx ze složky Zdroj_papka do složky Nová_papka, musíte použít následující kód:
FileCopy "C:\Исходная_папка\example.xlsx", "C:\Новая_папка\example.xlsx"
2. Použití metody FileSystemObject :
Místo metody FileCopy lze ke kopírování souboru použít objekt FileSystemObject. Chcete-li to provést , musíte nejprve vytvořit objekt FileSystemObject a poté provést metodu CopyFile . Syntaxe této metody je následující:
FileSystemObject.CopyFile "Исходный_путь\имя_файла", "Новый_путь\имя_файла"
Například zkopírovat soubor s názvem " example.xlsx ze složky Zdroj_papka do složky Nová_papka, musíte použít následující kód:
Dim FSO As ObjectSet FSO = CreateObject("Scripting.FileSystemObject")FSO.CopyFile "C:\Исходная_папка\example.xlsx", "C:\Новая_папка\example.xlsx"
3. Použití metody Copy objektu Workbook :
Pokud je soubor, který chcete zkopírovat, knihou Excel, můžete použít metodu Copy objektu Workbook . Tato metoda vytvoří kopii knihy, kterou lze uložit do jiného umístění. Syntaxe této metody je následující:
Workbook.Copy "Путь_к_файлу"
Například zkopírovat knihu " example.XLSX "a uložit jej do složky "Nová_papka", musíte použít následující kód:
Workbooks("example.xlsx").Copy "C:\Новая_папка\example.xlsx"
4. Použití metody SaveCopyAs objektu Workbook :
Dalším způsobem kopírování knihy Excel je použití metody SaveCopyAs . Syntaxe této metody je následující:
Workbook.SaveCopyAs "Путь_к_файлу"
Například zkopírovat knihu " example.XLSX "a uložit jej do složky "Nová_papka", musíte použít následující kód:
Workbooks("example.xlsx").SaveCopyAs "C:\Новая_папка\example.xlsx"
Pomocí těchto pokynů budete moci snadno kopírovat soubory do aplikace VBA Excel a automatizovat proces práce se systémem souborů.