Funkcje arkuszowe VBA

Funkcje arkuszowe VBA to funkcje Excela, dostępne w ramach obiektu VBA Worksheet.Function. Działają tak samo, jak bezpośrednio w arkuszu.

Właściwie WorksheetFunction jest częścią obiektu Application, ale jak wiele innych może być stosowany samodzielnie.
Czyli można stosować w kodzie zarówno:
Application.WorksheetFunction….
jak i
WorksheetFunction…

Nazwy funkcji w ramach obiektu są w języku angielskim.


Kurs Makra i VBA w Excelu dla początkujących

 

Przenoszenie pliku

Jak szybko przenieść czyli usunąć w jednym miejscu i przenieść w inne miejsce na dysku) plik? Jednym ze  sposobów  jest wykorzystanie obiektu FileSystem.Object.
Służy do tego metoda FileSystem.Object.MoveFile
Ma ona kilka parametrów wejściowych:

    • Object – nazwa obiektu zdefiniowanego jako obiekt FSO. Argument obowiązkowy.
    • Source – nazwa pliku do skopiowania. Argument obowiązkowy, ale dozwolone są znaki zastępcze w nazwie.
    • Destination – nazwa pliku po przeniesieniu. Argument obowiązkowy.

Zarówno stara jak i nowa nazwa pliku musi być pełna czyli z z dokładnym podaniem dysku i katalogu.

Przykładowy kod  może wyglądać tak:

Public Sub PrzeniesPlik()
Dim FSO As Object
Dim StaryPlik As String
Dim
NowyPlik As String
StaryPlik = “C:\Folder1\plik.png”
NowyPlik = “C:\Folder2\plik.png”
Set FSO = CreateObject(“Scripting.FileSystemObject”)
FSO.MoveFile StaryPlik, NowyPlik
Set FSO = Nothing
End Sub

Warto też  wcześniej zwrócić uwagę na sprawdzenie, czy plik do przeniesienia istnieje. Jeżeli nie, to w trakcie wykonywania procedury wystąpi błąd wykonania 53.


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

 

Kopiowanie pliku

Jak szybko skopiować dowolny plik? Sposobów jest kilka, jednym z nich jest wykorzystanie obiektu FileSystem.Object.
Służy do tego metoda FileSystem.Object.Copy
Ma ona kilka parametrów wejściowych:

    • Object – nazwa obiektu zdefiniowanego jako obiekt FSO. Argument obowiązkowy.
    • Source – nazwa pliku do skopiowania. Argument obowiązkowy, ale dozwolone są znaki zastępcze w  nazwie.
    • Destination – nazwa pliku po skopiowaniu. Argument obowiązkowy.
    • Overwrite – opcjonalny argument typu Boolean. Jeżeli kopiowany plik ma być zapisany pod nazwą już istniejącego pliku, wartość False nie skopiuje pliku. Domyślna wartość True, zastąpi plik plikiem kopiowany.

Przykładowy kod kopiujący plik może wyglądać tak:

Public Sub KopiujPlik()
Dim FSO As Object
Dim KopiowanyPlik As String
Dim
NowyPlik As String
KopiowanyPlik= “C:\Wprawki\PrzykladowaBaza.accdb”
NowyPlik= “C:\NaBlogi\PrzykladowaBaza.accdb”
Set FSO=CreateObject(“Scripting.FileSystemObject”)
FSO.Copy  KopiowanyPlik, NowyPlik, True
Set FSO=Nothing
End Sub

 


FileSystem.Object

Scripting.FileSystemObject to obiekt 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 często 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

To tylko te podstawowe, jest ich więcej. I każda będzie tematem notki.


Obiekt ChartObject

Obiekt ChartObject to obiekt VBA będący kontenerem do osadzonego w arkuszu wykresu.
Podstawowe metody tego obiektu to:

      • Add – dodawanie nowego
        Parametry wejściowe:
        Left As Double – położenie z lewej strony arkusza
        Top As Double – położenie od góry arkusza
        Width As Double – szerokość
        Height As Double) – wysokosć
      • Copy -kopiowanie
      • Delete – usuwanie
      • Select – zaznaczanie

Podstawowe właściwości to:

      • Left -położenie od lewej strony
      • Top -położenie z góry
      • Width – szerokość
      • Height – szerokość
      • Visible – widoczny
      • Locked – włączony

Kurs Excel - wykresy i wizualizacja danych