Scripting.FileSystemObject

Scripting.FileSystemObject to obiekt VBA służący do zarządzania plikami i  folderami. Wprawdzie w kodzie VBA są dostępne proste i przyjemne funkcje Dir, MkDir itp., ale przy odwołaniach do folderów sieciowych niestety zawodzą. Wówczas pozostaje wykorzystanie właśnie obiektu FileSystemObject, popularnie nazywanym FSO.

Dostępne są tu następujące właściwości i metody:

  • GetDrive – informacje o napędzie (dysku)
  • GetFolder – informacje o folderze
  • GetFile– informacje o pliku
  • CreateFolder – tworzenie folderu
  • CreateFile – tworzenie pliku
  • DeleteFolder – usuwanie folderu
  • DeleteFile – usuwanie pliku
  • CopyFolder – kopiowanie folderu
  • CopyFile – kopiowanie pliku
  • MoveFolder – przenoszenie folderu
  • MoveFile – przenoszenie pliku

Kurs Excel programowanie w VBA

Metody obiektu Range

Najczęściej stosowane metody obiektu Range (czyli komórki lub zakresu komórek) to:

    • czyszczenie zakresu
      • Clear
        całkowite usunięcie treści, formatowania, obramowania wyrównania i komentarzy
      • ClearComments
        usuwanie komentarzy
      • ClearContents
        usuwanie treści i formuł
      • ClearFormats
        czyszczenie formatowania
    • kopiowanie, wycinanie, usuwanie
      • Copy
        cały zakres zostaje skopiowany do schowka
      • Cut
        komórki zakresu zostają wycięte i przekopiowanie do schowka
      • Delete
        usuwanie zakresu komórek
    • zaznaczanie
        • Select
          zaznaczanie zakresu
    • scalanie, rozcalanie
        • Merge
          scalenie komórek w zakresie
        • UnMerge
          rozcalenie komórek w zakresie

Jak to wygląda w praktyce? Najprościej daną metodę wybrać z rozwijalnej listy właściwości i metod uaktywnianej po wstawieniu kropki za oznaczeniem zakresu:

Oznaczenia metod to:

 

Oznaczenia właściwości to:

 

Przykładowy fragment kodu zaznaczającego zakres wygląda tak:

Public Sub CzyscZakres()
Dim Zakres As Range
SET ZakresA=Range(“A1:A10”)
Zakres.Clear
End Sub

lub np.tak:

Public Sub ZaznaczZakres()
Range(“A1:A10”).Select
End Sub

 


Komórki scalone w VBA

Scalanie komórek kodem VBA jest możliwe przy użyciu metody Merge obiektu Range.

Np. dla komórek z zakresu A1:A10

Range(“A1:A10”).Merge

Zdjęcie scalenia to metoda UnMerge

Range(“A1:A10”).UnMerge

To, co istotne w metodach stosowanych w odniesieniu do komórek scalonych (m.in. ClearContents) nie można się odwołać do pojedynczej komórki scalonego zakresu  – trzeba jako Range wpisać cały zakres.

 


 

Kurs Excel - makra i VBA dla początkujących