Soubory a adresáře VBA – Objekt souborového systému

Objekt souborového systému

Jedná se o doplňkovou knihovnu, která nabízí přehledný, objektově orientovaný přístup ke všem běžným funkcím souborů a adresářů.
Tento objekt není součástí knihovny Office a vyžaduje přidání dalšího odkazu do vašeho projektu.
SS – dialogové okno Reference
Po přidání reference můžete použít Prohlížeč objektů a zjistit další informace o objektech.
Knihovna Microsoft Scripting Runtime je knihovna, kterou lze přidat do projektu pomocí (Nástroje > Reference).
Tato knihovna se nachází v C:\Windows\System32\scrrun.dll

Dim objFSOFileSystemObject As Scripting.FileSystemObject 
Set objFSOFileSystemObject = CreateObject("Scripting.FileSystemObject")

Typy objektů

FileSystemObject – Jedná se také o objekt nejvyšší úrovně používaný pro přístup k jednotkám, složkám a souborům.
Drive – Patří do kolekce Drives a odkazuje na konkrétní místní nebo síťovou jednotku.
Folder – Tento objekt odkazuje na konkrétní složku.
File – Tento objekt odkazuje na konkrétní soubor.
TextStream – Tento objekt odkazuje na proud textu, který lze číst z textového souboru, zapisovat do něj nebo jej k němu připojovat.
Slovník – Jedná se o objekt nejvyšší úrovně

Objekt FileSystemObject

Objekt FileSystemObject je objekt, který vám vlastně poskytuje přístup k systémovým souborům pomocí 27 metod a pouze jedné vlastnosti.
Při vytváření složek je musíte vytvářet, a to po jednotlivých úrovních. Nemůžete vytvořit složku a podsložku současně.
Vždy byste měli používat názvy serverů namísto písmen, protože různé počítače mohou mít přiřazena různá písmena
Nebudeme se snažit definovat všechny metody, ale několik si jich projdeme, protože je použijeme v příkladech kódu o něco později.
Objekt FileSystemObject navíc slouží k vrácení objektu, který může vytvářet, číst a upravovat textové soubory (ASCII a Unicode).
Jakmile máte novou instanci objektu FileSystemObject, můžete pracovat s jednotkami, složkami a soubory, které poskytují snadný přístup k souborovému systému a zjednodušují proces čtení a zápisu do textového souboru.

Dim objFSOFileSystemObject As New Scripting.FileSystemObject 

Alternativně

Dim objFSOFileSystemObject As Scripting.Dictionary 
Set objFSOFileSystemObject = New Scripting.FileSystemObject

Alternativně

Dim objFSOFileSystemObject As Object 
Set objFSOFileSystemObject = CreateObject("Scripting.FileSystemObject")

Důležité

Objekt FileSystemObject bohužel není vhodný pro práci s binárními daty. K tomu je třeba použít tradiční funkce.